update 广播模块,新增广播按钮和跳转路径。定时任务新增开关功能
This commit is contained in:
parent
c698a8244c
commit
a51771db2e
|
@ -320,4 +320,46 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils
|
||||||
return DateUtils.parseDate(format);
|
return DateUtils.parseDate(format);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前时间前一个包含 30 分或整点的 30 分钟时间段起始时间
|
||||||
|
* @param date 输入的日期
|
||||||
|
* @return 前一个 30 分或整点时间段起始的日期
|
||||||
|
*/
|
||||||
|
public static Date getPreviousHalfHourOrFullHour(Date date) {
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
calendar.setTime(date);
|
||||||
|
|
||||||
|
int minute = calendar.get(Calendar.MINUTE);
|
||||||
|
// 如果当前分钟数小于 30,前一个时间段起始是上一个整点
|
||||||
|
if (minute < 30) {
|
||||||
|
calendar.set(Calendar.MINUTE, 0);
|
||||||
|
} else {
|
||||||
|
// 如果当前分钟数大于等于 30,前一个时间段起始是 30 分
|
||||||
|
calendar.set(Calendar.MINUTE, 30);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 将秒和毫秒置为 0
|
||||||
|
calendar.set(Calendar.SECOND, 0);
|
||||||
|
calendar.set(Calendar.MILLISECOND, 0);
|
||||||
|
|
||||||
|
// 如果当前分钟已经是 0 分或者 30 分,需要再往前推 30 分钟
|
||||||
|
if (minute == 0 || minute == 30) {
|
||||||
|
calendar.add(Calendar.MINUTE, -30);
|
||||||
|
}
|
||||||
|
|
||||||
|
return calendar.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取指定日期一个月前的时间
|
||||||
|
* @param date 输入的日期
|
||||||
|
* @return 一个月前的日期
|
||||||
|
*/
|
||||||
|
public static Date getOneMonthAgo(Date date) {
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
calendar.setTime(date);
|
||||||
|
calendar.add(Calendar.MONTH, -1);
|
||||||
|
return calendar.getTime();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,6 +20,7 @@ import org.springframework.messaging.simp.stomp.StompHeaderAccessor;
|
||||||
import org.springframework.messaging.support.ChannelInterceptor;
|
import org.springframework.messaging.support.ChannelInterceptor;
|
||||||
import org.springframework.messaging.support.MessageHeaderAccessor;
|
import org.springframework.messaging.support.MessageHeaderAccessor;
|
||||||
|
|
||||||
|
import java.util.Date;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
@ -77,6 +78,7 @@ public class WebsocketChannelInterceptor implements ChannelInterceptor {
|
||||||
//获取链接建立时的请求头信息
|
//获取链接建立时的请求头信息
|
||||||
StompHeaderAccessor accessor = StompHeaderAccessor.wrap(message);
|
StompHeaderAccessor accessor = StompHeaderAccessor.wrap(message);
|
||||||
if (accessor.getCommand() == StompCommand.CONNECT ) {
|
if (accessor.getCommand() == StompCommand.CONNECT ) {
|
||||||
|
System.out.println("yyb-开始链接"+new Date());
|
||||||
StompHeaderAccessor mha = MessageHeaderAccessor.getAccessor(message, StompHeaderAccessor.class);
|
StompHeaderAccessor mha = MessageHeaderAccessor.getAccessor(message, StompHeaderAccessor.class);
|
||||||
if(mha == null){
|
if(mha == null){
|
||||||
throw new MessageDeliveryException(ExceptionEnum.fromCode(ExceptionEnum.SET_PRINCIPAL_FAIL));
|
throw new MessageDeliveryException(ExceptionEnum.fromCode(ExceptionEnum.SET_PRINCIPAL_FAIL));
|
||||||
|
@ -90,6 +92,7 @@ public class WebsocketChannelInterceptor implements ChannelInterceptor {
|
||||||
ipLimit(accessor,type,email);
|
ipLimit(accessor,type,email);
|
||||||
//链接请求头中用户信息存入stomp中
|
//链接请求头中用户信息存入stomp中
|
||||||
mha.setUser(new StompPrincipal(email,type,true));
|
mha.setUser(new StompPrincipal(email,type,true));
|
||||||
|
System.out.println("yyb-链接成功"+new Date());
|
||||||
}
|
}
|
||||||
if (accessor.getCommand() == StompCommand.SUBSCRIBE) {
|
if (accessor.getCommand() == StompCommand.SUBSCRIBE) {
|
||||||
LOGGER.info("------------websocket subscribe message");
|
LOGGER.info("------------websocket subscribe message");
|
||||||
|
|
|
@ -9,7 +9,11 @@ import com.m2pool.chat.entity.ChatRoom;
|
||||||
import com.m2pool.chat.mapper.ChatMessageMapper;
|
import com.m2pool.chat.mapper.ChatMessageMapper;
|
||||||
import com.m2pool.chat.mapper.ChatRoomMapper;
|
import com.m2pool.chat.mapper.ChatRoomMapper;
|
||||||
import com.m2pool.chat.service.ChatMessageHistoryService;
|
import com.m2pool.chat.service.ChatMessageHistoryService;
|
||||||
|
import lombok.Data;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
@ -25,7 +29,9 @@ import java.util.stream.Collectors;
|
||||||
* @Author yyb
|
* @Author yyb
|
||||||
* @Date 2025/4/15 11:51
|
* @Date 2025/4/15 11:51
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@ConfigurationProperties(prefix = "task")
|
||||||
@EnableScheduling
|
@EnableScheduling
|
||||||
public class ChatTask {
|
public class ChatTask {
|
||||||
|
|
||||||
|
@ -37,9 +43,15 @@ public class ChatTask {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ChatRoomMapper chatRoomMapper;
|
private ChatRoomMapper chatRoomMapper;
|
||||||
|
|
||||||
|
private boolean enable;
|
||||||
|
|
||||||
// @Scheduled(cron = "0 0/1 * * * ?")
|
// @Scheduled(cron = "0 0/1 * * * ?")
|
||||||
@Scheduled(cron = "0 15 1 * * ?")
|
@Scheduled(cron = "0 15 1 * * ?")
|
||||||
public void chatMessageDataSeparatedForHotAndCold(){
|
public void chatMessageDataSeparatedForHotAndCold(){
|
||||||
|
if(!enable){
|
||||||
|
System.out.println("ChatTask 定时任务已关闭,请在nacos修改配置");
|
||||||
|
return;
|
||||||
|
}
|
||||||
int pageNum = 1;
|
int pageNum = 1;
|
||||||
int pageSize = 1000; // 每批处理数量
|
int pageSize = 1000; // 每批处理数量
|
||||||
List<ChatMessage> chatMessages;
|
List<ChatMessage> chatMessages;
|
||||||
|
@ -82,8 +94,12 @@ public class ChatTask {
|
||||||
@Scheduled(cron = "0 16 1 * * ?")
|
@Scheduled(cron = "0 16 1 * * ?")
|
||||||
//@Scheduled(cron = "0 0/1 * * * ?")
|
//@Scheduled(cron = "0 0/1 * * * ?")
|
||||||
public void clearTouristDatas(){
|
public void clearTouristDatas(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
chatMessageMapper.delete(new LambdaUpdateWrapper<ChatMessage>()
|
chatMessageMapper.delete(new LambdaUpdateWrapper<ChatMessage>()
|
||||||
.like(ChatMessage::getSendEmail, "guest_"));
|
.like(ChatMessage::getSendEmail, "guest_"));
|
||||||
chatRoomMapper.delete(new LambdaUpdateWrapper<ChatRoom>().like(ChatRoom::getUserOneEmail, "guest_"));
|
chatRoomMapper.delete(new LambdaUpdateWrapper<ChatRoom>().like(ChatRoom::getUserOneEmail, "guest_"));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,6 @@ public class ManageBroadcastController {
|
||||||
|
|
||||||
@PostMapping("/find/data/by/id")
|
@PostMapping("/find/data/by/id")
|
||||||
@ApiOperation(value = "业务系统:用于获取m2pool广播数据")
|
@ApiOperation(value = "业务系统:用于获取m2pool广播数据")
|
||||||
|
|
||||||
public R<List<ManageBroadcastDto>> findDataById(@RequestBody(required = false) ManageBaseVo manageBaseVo){
|
public R<List<ManageBroadcastDto>> findDataById(@RequestBody(required = false) ManageBaseVo manageBaseVo){
|
||||||
return manageBroadcastService.findDataById(manageBaseVo);
|
return manageBroadcastService.findDataById(manageBaseVo);
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,4 +33,10 @@ public class ManageBroadcastDto {
|
||||||
|
|
||||||
@ApiModelProperty(value = "创建时间",example = "2025-05-22 14:22:13")
|
@ApiModelProperty(value = "创建时间",example = "2025-05-22 14:22:13")
|
||||||
private LocalDateTime createTime;
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "按钮内容",example = "按钮内容")
|
||||||
|
private String buttonContent;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "按钮跳转路径",example = "按钮跳转路径")
|
||||||
|
private String buttonPath;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ public class ManageMiningUserOnlineDto {
|
||||||
//private String minerUser;
|
//private String minerUser;
|
||||||
|
|
||||||
@ApiModelProperty(value = "时间",example = "2025-06-27 16:30:00",required = true)
|
@ApiModelProperty(value = "时间",example = "2025-06-27 16:30:00",required = true)
|
||||||
private LocalDateTime date;
|
private Date date;
|
||||||
|
|
||||||
@ApiModelProperty(value = "在线数量",example = "15")
|
@ApiModelProperty(value = "在线数量",example = "15")
|
||||||
private Integer onlineNum;
|
private Integer onlineNum;
|
||||||
|
|
|
@ -7,6 +7,7 @@ import lombok.Builder;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -21,6 +22,9 @@ import java.util.List;
|
||||||
@ApiModel(value = "WalletEarningsInfoDto", description = "钱包收益详情信息返回对象")
|
@ApiModel(value = "WalletEarningsInfoDto", description = "钱包收益详情信息返回对象")
|
||||||
public class WalletEarningsInfoDto {
|
public class WalletEarningsInfoDto {
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "钱包余额",example = "100000.0000000000")
|
||||||
|
private BigDecimal accountBalance;
|
||||||
|
|
||||||
@ApiModelProperty(value = "钱包历史地址集合",example = "")
|
@ApiModelProperty(value = "钱包历史地址集合",example = "")
|
||||||
List<HistoryBalanceDto> historyBalance;
|
List<HistoryBalanceDto> historyBalance;
|
||||||
|
|
||||||
|
|
|
@ -36,4 +36,10 @@ public class ManageBroadcast {
|
||||||
private LocalDateTime updateTime;
|
private LocalDateTime updateTime;
|
||||||
|
|
||||||
private Boolean del;
|
private Boolean del;
|
||||||
|
|
||||||
|
private String buttonContent;
|
||||||
|
|
||||||
|
private String buttonPath;
|
||||||
|
|
||||||
|
private String buttonContentEn;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@ import com.m2pool.manage.vo.ManageBaseVo;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
import org.apache.ibatis.annotations.Param;
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -87,4 +88,8 @@ public interface ManageBroadcastMapper extends BaseMapper<ManageBroadcast> {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
List<ManageBroadcastDto> getListDataByPage();
|
List<ManageBroadcastDto> getListDataByPage();
|
||||||
|
|
||||||
|
|
||||||
|
@DistributionDB
|
||||||
|
BigDecimal getAccountBalance(@Param("user") String user, @Param("coin") String coin);
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,7 @@ public class ManageBroadcastServiceImpl extends ServiceImpl<ManageBroadcastMappe
|
||||||
@Override
|
@Override
|
||||||
public TableDataInfo<ManageBroadcastDto> getListDataByPage(PageVo pageVo) {
|
public TableDataInfo<ManageBroadcastDto> getListDataByPage(PageVo pageVo) {
|
||||||
|
|
||||||
PageHelper.startPage(pageVo.getPageNum(), pageVo.getPageSize());
|
PageHelper.startPage(pageVo.getPageNum(), pageVo.getPageSize());
|
||||||
List<ManageBroadcastDto> listDataByPage = manageBroadcastMapper.getListDataByPage();
|
List<ManageBroadcastDto> listDataByPage = manageBroadcastMapper.getListDataByPage();
|
||||||
return getDataTable(listDataByPage);
|
return getDataTable(listDataByPage);
|
||||||
}
|
}
|
||||||
|
@ -81,6 +81,8 @@ public class ManageBroadcastServiceImpl extends ServiceImpl<ManageBroadcastMappe
|
||||||
collect = list.stream().map(broadcast ->
|
collect = list.stream().map(broadcast ->
|
||||||
ManageBroadcastDto.builder()
|
ManageBroadcastDto.builder()
|
||||||
.content(broadcast.getContent())
|
.content(broadcast.getContent())
|
||||||
|
.buttonContent(broadcast.getButtonContent())
|
||||||
|
.buttonPath(broadcast.getButtonPath())
|
||||||
.id(broadcast.getId())
|
.id(broadcast.getId())
|
||||||
.createUser(broadcast.getCreateUser())
|
.createUser(broadcast.getCreateUser())
|
||||||
.updateUser(broadcast.getUpdateUser())
|
.updateUser(broadcast.getUpdateUser())
|
||||||
|
@ -91,12 +93,15 @@ public class ManageBroadcastServiceImpl extends ServiceImpl<ManageBroadcastMappe
|
||||||
}else{
|
}else{
|
||||||
collect = list.stream().map(broadcast -> {
|
collect = list.stream().map(broadcast -> {
|
||||||
//如果英文为null,需要翻译并保存一下
|
//如果英文为null,需要翻译并保存一下
|
||||||
if("".equals(broadcast.getContentEn())){
|
if("".equals(broadcast.getContentEn()) || "".equals(broadcast.getButtonContentEn())){
|
||||||
broadcast.setContentEn(TranslateUtils.translate(broadcast.getContent(), "zh", "en"));
|
broadcast.setContentEn(TranslateUtils.translate(broadcast.getContent(), "zh", "en"));
|
||||||
|
broadcast.setButtonContentEn(TranslateUtils.translate(broadcast.getButtonContent(), "zh", "en"));
|
||||||
manageBroadcastMapper.updateById(broadcast);
|
manageBroadcastMapper.updateById(broadcast);
|
||||||
}
|
}
|
||||||
return ManageBroadcastDto.builder()
|
return ManageBroadcastDto.builder()
|
||||||
.content(broadcast.getContentEn())
|
.content(broadcast.getContentEn())
|
||||||
|
.buttonContent(broadcast.getButtonContentEn())
|
||||||
|
.buttonPath(broadcast.getButtonPath())
|
||||||
.id(broadcast.getId())
|
.id(broadcast.getId())
|
||||||
.createUser(broadcast.getCreateUser())
|
.createUser(broadcast.getCreateUser())
|
||||||
.updateUser(broadcast.getUpdateUser())
|
.updateUser(broadcast.getUpdateUser())
|
||||||
|
@ -110,6 +115,7 @@ public class ManageBroadcastServiceImpl extends ServiceImpl<ManageBroadcastMappe
|
||||||
return R.success(collect);
|
return R.success(collect);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String SEPARATE = ",yKbjIAIgFpbdESYaE7A,";
|
||||||
/**
|
/**
|
||||||
* 新增广播信息
|
* 新增广播信息
|
||||||
*
|
*
|
||||||
|
@ -118,10 +124,20 @@ public class ManageBroadcastServiceImpl extends ServiceImpl<ManageBroadcastMappe
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public R<String> addBroadcast(ManageBroadcastVo broadcastVo) {
|
public R<String> addBroadcast(ManageBroadcastVo broadcastVo) {
|
||||||
String translate = TranslateUtils.translate(broadcastVo.getContent(), "zh", "en");
|
String contentEn = TranslateUtils.translate(broadcastVo.getContent(), "zh", "en");
|
||||||
|
// 休眠 1 秒,确保符合 API 的 QPS 限制。可升级为高级版,qps为10。不要把两个文本放到一起同时翻译,会出问题
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
}
|
||||||
|
String buttonContentEn = TranslateUtils.translate(broadcastVo.getButtonContent(), "zh", "en");
|
||||||
ManageBroadcast broadcast = ManageBroadcast.builder()
|
ManageBroadcast broadcast = ManageBroadcast.builder()
|
||||||
.content(broadcastVo.getContent())
|
.content(broadcastVo.getContent())
|
||||||
.contentEn(translate)
|
.contentEn(contentEn)
|
||||||
|
.buttonContent(broadcastVo.getButtonContent())
|
||||||
|
.buttonContentEn(buttonContentEn)
|
||||||
|
.buttonPath(broadcastVo.getButtonPath())
|
||||||
.createUser(SecurityUtils.getUsername())
|
.createUser(SecurityUtils.getUsername())
|
||||||
.updateTime(LocalDateTime.now())
|
.updateTime(LocalDateTime.now())
|
||||||
.build();
|
.build();
|
||||||
|
@ -148,11 +164,21 @@ public class ManageBroadcastServiceImpl extends ServiceImpl<ManageBroadcastMappe
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<String> updateBroadcast(ManageBroadcastVo broadcastVo) {
|
public R<String> updateBroadcast(ManageBroadcastVo broadcastVo) {
|
||||||
String translate = TranslateUtils.translate(broadcastVo.getContent(), "zh", "en");
|
String contentEn = TranslateUtils.translate(broadcastVo.getContent(), "zh", "en");
|
||||||
|
// 休眠 1 秒,确保符合 API 的 QPS 限制。可升级为高级版,qps为10。不要把两个文本放到一起同时翻译,会出问题
|
||||||
|
try {
|
||||||
|
Thread.sleep(1000);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
Thread.currentThread().interrupt();
|
||||||
|
}
|
||||||
|
String buttonContentEN = TranslateUtils.translate(broadcastVo.getButtonContent(), "zh", "en");
|
||||||
boolean b = this.updateById(ManageBroadcast.builder()
|
boolean b = this.updateById(ManageBroadcast.builder()
|
||||||
.id(broadcastVo.getId())
|
.id(broadcastVo.getId())
|
||||||
.content(broadcastVo.getContent())
|
.content(broadcastVo.getContent())
|
||||||
.contentEn(translate)
|
.contentEn(contentEn)
|
||||||
|
.buttonContent(broadcastVo.getButtonContent())
|
||||||
|
.buttonContentEn(buttonContentEN)
|
||||||
|
.buttonPath(broadcastVo.getButtonPath())
|
||||||
.updateUser(SecurityUtils.getUsername())
|
.updateUser(SecurityUtils.getUsername())
|
||||||
.build());
|
.build());
|
||||||
if (b){
|
if (b){
|
||||||
|
@ -170,6 +196,8 @@ public class ManageBroadcastServiceImpl extends ServiceImpl<ManageBroadcastMappe
|
||||||
return R.success(ManageBroadcastDto.builder()
|
return R.success(ManageBroadcastDto.builder()
|
||||||
.content(byId.getContent())
|
.content(byId.getContent())
|
||||||
.id(byId.getId())
|
.id(byId.getId())
|
||||||
|
.buttonPath(byId.getButtonPath())
|
||||||
|
.buttonContent(byId.getButtonContent())
|
||||||
.createUser(byId.getCreateUser())
|
.createUser(byId.getCreateUser())
|
||||||
.updateUser(byId.getUpdateUser())
|
.updateUser(byId.getUpdateUser())
|
||||||
.updateTime(byId.getUpdateTime())
|
.updateTime(byId.getUpdateTime())
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper;
|
||||||
import com.github.pagehelper.PageInfo;
|
import com.github.pagehelper.PageInfo;
|
||||||
import com.m2pool.common.core.Result.R;
|
import com.m2pool.common.core.Result.R;
|
||||||
import com.m2pool.common.core.constant.HttpStatus;
|
import com.m2pool.common.core.constant.HttpStatus;
|
||||||
|
import com.m2pool.common.core.utils.DateUtils;
|
||||||
import com.m2pool.common.core.utils.StringUtils;
|
import com.m2pool.common.core.utils.StringUtils;
|
||||||
import com.m2pool.common.core.web.page.TableDataInfo;
|
import com.m2pool.common.core.web.page.TableDataInfo;
|
||||||
import com.m2pool.manage.dto.*;
|
import com.m2pool.manage.dto.*;
|
||||||
|
@ -96,11 +97,13 @@ public class ManageUserServiceImpl implements ManageUserService {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public R<WalletEarningsInfoDto> getUserInfo(ManageUserInfoVo manageUserInfoVo) {
|
public R<WalletEarningsInfoDto> getUserInfo(ManageUserInfoVo manageUserInfoVo) {
|
||||||
|
//获取账户余额
|
||||||
|
BigDecimal accountBalance = manageBroadcastMapper.getAccountBalance(manageUserInfoVo.getMinerUser(), manageUserInfoVo.getCoin());
|
||||||
//获取挖矿账户历史收益记录
|
//获取挖矿账户历史收益记录
|
||||||
List<ManageUserInfoDto> walletInInfo = manageBroadcastMapper.getUserInfo(manageUserInfoVo.getMinerUser(), manageUserInfoVo.getCoin(), manageUserInfoVo.getStartDate(), manageUserInfoVo.getEndDate());
|
List<ManageUserInfoDto> walletInInfo = manageBroadcastMapper.getUserInfo(manageUserInfoVo.getMinerUser(), manageUserInfoVo.getCoin(), manageUserInfoVo.getStartDate(), manageUserInfoVo.getEndDate());
|
||||||
//获取挖矿账户历史地址
|
//获取挖矿账户历史地址
|
||||||
List<HistoryBalanceDto> historyBalance = manageBroadcastMapper.getHistoryBalance(manageUserInfoVo.getMinerUser(), manageUserInfoVo.getCoin());
|
List<HistoryBalanceDto> historyBalance = manageBroadcastMapper.getHistoryBalance(manageUserInfoVo.getMinerUser(), manageUserInfoVo.getCoin());
|
||||||
WalletEarningsInfoDto manageUserInfoDto = new WalletEarningsInfoDto(historyBalance,walletInInfo);
|
WalletEarningsInfoDto manageUserInfoDto = new WalletEarningsInfoDto(accountBalance,historyBalance,walletInInfo);
|
||||||
return R.success(manageUserInfoDto);
|
return R.success(manageUserInfoDto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -123,7 +126,19 @@ public class ManageUserServiceImpl implements ManageUserService {
|
||||||
powerUnit = new PowerUnitUtils.NetPowerUnit("GH/S", BigDecimal.valueOf(1000 * 1000 * 1000));
|
powerUnit = new PowerUnitUtils.NetPowerUnit("GH/S", BigDecimal.valueOf(1000 * 1000 * 1000));
|
||||||
}
|
}
|
||||||
changeUnit(powerUnit, list,BigDecimal.valueOf(1000 * 1000));
|
changeUnit(powerUnit, list,BigDecimal.valueOf(1000 * 1000));
|
||||||
list = fillMissingData(list,powerUnit.getUnit(),manageMiningUserPowerVo.getMinerUser());
|
if (manageMiningUserPowerVo.getStartDate()==null || manageMiningUserPowerVo.getEndDate()==null){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Date endDate = manageMiningUserPowerVo.getEndDate();
|
||||||
|
Date startDate = manageMiningUserPowerVo.getStartDate();
|
||||||
|
if (manageMiningUserPowerVo.getStartDate()==null || manageMiningUserPowerVo.getEndDate()==null){
|
||||||
|
endDate = DateUtils.getPreviousHalfHourOrFullHour(new Date());
|
||||||
|
startDate = DateUtils.getOneMonthAgo(endDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
list = fillMissingData(list,powerUnit.getUnit(),manageMiningUserPowerVo.getMinerUser(),startDate,endDate);
|
||||||
return R.success(list);
|
return R.success(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -151,21 +166,10 @@ public class ManageUserServiceImpl implements ManageUserService {
|
||||||
* @param dataList
|
* @param dataList
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public static List<ManageMiningUserPowerDto> fillMissingData(List<ManageMiningUserPowerDto> dataList,String unit,String minerUser) {
|
public static List<ManageMiningUserPowerDto> fillMissingData(List<ManageMiningUserPowerDto> dataList,String unit,String minerUser,Date startTime,Date endTime) {
|
||||||
if (dataList == null || dataList.size() <= 1) {
|
|
||||||
return dataList;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 对数据按时间排序
|
|
||||||
dataList.sort(Comparator.comparing(ManageMiningUserPowerDto::getDate));
|
|
||||||
|
|
||||||
List<ManageMiningUserPowerDto> resultList = new ArrayList<>();
|
List<ManageMiningUserPowerDto> resultList = new ArrayList<>();
|
||||||
Calendar calendar = Calendar.getInstance();
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
|
||||||
// 获取起始和结束时间
|
|
||||||
Date startTime = dataList.get(0).getDate();
|
|
||||||
Date endTime = dataList.get(dataList.size() - 1).getDate();
|
|
||||||
|
|
||||||
calendar.setTime(startTime);
|
calendar.setTime(startTime);
|
||||||
Map<Long, ManageMiningUserPowerDto> timeDataMap = new HashMap<>();
|
Map<Long, ManageMiningUserPowerDto> timeDataMap = new HashMap<>();
|
||||||
for (ManageMiningUserPowerDto data : dataList) {
|
for (ManageMiningUserPowerDto data : dataList) {
|
||||||
|
@ -195,6 +199,50 @@ public class ManageUserServiceImpl implements ManageUserService {
|
||||||
manageMiningUserPowerVo.getCoin(),
|
manageMiningUserPowerVo.getCoin(),
|
||||||
manageMiningUserPowerVo.getStartDate(),
|
manageMiningUserPowerVo.getStartDate(),
|
||||||
manageMiningUserPowerVo.getEndDate());
|
manageMiningUserPowerVo.getEndDate());
|
||||||
return R.success(minerUserOnlineStatus);
|
Date endDate = manageMiningUserPowerVo.getEndDate();
|
||||||
|
Date startDate = manageMiningUserPowerVo.getStartDate();
|
||||||
|
if (manageMiningUserPowerVo.getStartDate()==null || manageMiningUserPowerVo.getEndDate()==null){
|
||||||
|
endDate = DateUtils.getPreviousHalfHourOrFullHour(new Date());
|
||||||
|
startDate = DateUtils.getOneMonthAgo(endDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
return R.success(fillMissingOnlineData(minerUserOnlineStatus, startDate, endDate));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 数据补零 30分钟时间端
|
||||||
|
* @param dataList
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static List<ManageMiningUserOnlineDto> fillMissingOnlineData(List<ManageMiningUserOnlineDto> dataList,Date startTime,Date endTime) {
|
||||||
|
|
||||||
|
List<ManageMiningUserOnlineDto> resultList = new ArrayList<>();
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
|
||||||
|
|
||||||
|
calendar.setTime(startTime);
|
||||||
|
Map<Long, ManageMiningUserOnlineDto> timeDataMap = new HashMap<>();
|
||||||
|
for (ManageMiningUserOnlineDto data : dataList) {
|
||||||
|
timeDataMap.put(data.getDate().getTime(), data);
|
||||||
|
}
|
||||||
|
|
||||||
|
while (calendar.getTime().getTime() <= endTime.getTime()) {
|
||||||
|
long currentTime = calendar.getTime().getTime();
|
||||||
|
ManageMiningUserOnlineDto data = timeDataMap.get(currentTime);
|
||||||
|
if (data != null) {
|
||||||
|
resultList.add(data);
|
||||||
|
} else {
|
||||||
|
resultList.add(new ManageMiningUserOnlineDto(calendar.getTime(),0, 0));
|
||||||
|
}
|
||||||
|
// 增加 30 分钟
|
||||||
|
calendar.add(Calendar.MINUTE, 30);
|
||||||
|
}
|
||||||
|
|
||||||
|
return resultList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,7 @@ public class TranslateUtils {
|
||||||
|
|
||||||
|
|
||||||
private static String extractDstFromResponse(String response) {
|
private static String extractDstFromResponse(String response) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
JsonObject jsonObject = JsonParser.parseString(response).getAsJsonObject();
|
JsonObject jsonObject = JsonParser.parseString(response).getAsJsonObject();
|
||||||
JsonArray transResultArray = jsonObject.getAsJsonArray("trans_result");
|
JsonArray transResultArray = jsonObject.getAsJsonArray("trans_result");
|
||||||
|
@ -48,7 +49,7 @@ public class TranslateUtils {
|
||||||
return firstResult.get("dst").getAsString();
|
return firstResult.get("dst").getAsString();
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println("翻译结果解析失败"+e.getMessage());
|
System.out.println("翻译结果解析失败"+e.getMessage()+"翻译结果:"+response);
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,4 +25,10 @@ public class ManageBroadcastVo{
|
||||||
|
|
||||||
@ApiModelProperty(value = "内容",example = "广播内容")
|
@ApiModelProperty(value = "内容",example = "广播内容")
|
||||||
private String content;
|
private String content;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "按钮内容",example = "按钮内容")
|
||||||
|
private String buttonContent;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "按钮跳转路径",example = "按钮跳转路径")
|
||||||
|
private String buttonPath;
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,4 +17,5 @@ public class PageVo {
|
||||||
|
|
||||||
@ApiModelProperty(value = "每页条数",example = "20")
|
@ApiModelProperty(value = "每页条数",example = "20")
|
||||||
private Integer pageSize;
|
private Integer pageSize;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
uma.coin,
|
uma.coin,
|
||||||
uab.balance,
|
uab.balance,
|
||||||
uab.active,
|
uab.active,
|
||||||
COALESCE(uab.amount,0),
|
COALESCE(uab.amount,0) as amount,
|
||||||
uma.status
|
uma.status
|
||||||
FROM
|
FROM
|
||||||
user_account_balance uab
|
user_account_balance uab
|
||||||
|
@ -45,18 +45,14 @@
|
||||||
coin = #{coin} AND `user` = #{user}
|
coin = #{coin} AND `user` = #{user}
|
||||||
<choose>
|
<choose>
|
||||||
<when test="startDate != null and endDate != null">
|
<when test="startDate != null and endDate != null">
|
||||||
and `create_date` >= #{startDate} AND `create_date`<![CDATA[ <= ]]> #{endDate}
|
and `create_date` >= #{startDate} and `create_date`<![CDATA[ <= ]]> #{endDate}
|
||||||
</when>
|
</when>
|
||||||
|
|
||||||
<otherwise>
|
<otherwise>
|
||||||
and `create_date` >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
|
and `create_date` >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
|
||||||
</otherwise>
|
</otherwise>
|
||||||
</choose>
|
</choose>
|
||||||
|
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
<select id="getHistoryBalance" resultType="com.m2pool.manage.dto.HistoryBalanceDto">
|
<select id="getHistoryBalance" resultType="com.m2pool.manage.dto.HistoryBalanceDto">
|
||||||
SELECT
|
SELECT
|
||||||
|
@ -87,9 +83,15 @@
|
||||||
${coin}_users_30m
|
${coin}_users_30m
|
||||||
<where>
|
<where>
|
||||||
`user` = #{minerUser}
|
`user` = #{minerUser}
|
||||||
<if test="startDate != null and endDate != null">
|
<choose>
|
||||||
and `date` >= #{startDate} AND `date`<![CDATA[ <= ]]> #{endDate}
|
<when test="startDate != null and endDate != null">
|
||||||
</if>
|
and `date` >= #{startDate} and `date`<![CDATA[ <= ]]> #{endDate}
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
|
and `date` >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
|
|
||||||
</where>
|
</where>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
@ -102,9 +104,14 @@
|
||||||
${coin}_mhsv2
|
${coin}_mhsv2
|
||||||
<where>
|
<where>
|
||||||
`user` = #{minerUser}
|
`user` = #{minerUser}
|
||||||
<if test="startDate != null and endDate != null">
|
<choose>
|
||||||
and `date` >= #{startDate} AND `date`<![CDATA[ <= ]]> #{endDate}
|
<when test="startDate != null and endDate != null">
|
||||||
</if>
|
and `date` >= #{startDate} and `date`<![CDATA[ <= ]]> #{endDate}
|
||||||
|
</when>
|
||||||
|
<otherwise>
|
||||||
|
and `date` >= DATE_SUB(NOW(), INTERVAL 1 MONTH)
|
||||||
|
</otherwise>
|
||||||
|
</choose>
|
||||||
</where>
|
</where>
|
||||||
group by `date`
|
group by `date`
|
||||||
</select>
|
</select>
|
||||||
|
@ -118,10 +125,20 @@
|
||||||
create_user as createUser,
|
create_user as createUser,
|
||||||
update_user as updateUser,
|
update_user as updateUser,
|
||||||
update_time as updateTime,
|
update_time as updateTime,
|
||||||
create_time as createTime
|
create_time as createTime,
|
||||||
|
button_content as buttonContent,
|
||||||
|
button_path as buttonPath
|
||||||
FROM
|
FROM
|
||||||
manage_broadcast
|
manage_broadcast
|
||||||
where del =false
|
where del =false
|
||||||
</select>
|
</select>
|
||||||
|
<select id="getAccountBalance" resultType="java.math.BigDecimal">
|
||||||
|
SELECT
|
||||||
|
SUM(amount)
|
||||||
|
FROM
|
||||||
|
wallet_in
|
||||||
|
where
|
||||||
|
coin = #{coin} AND `user` = #{user} AND state = 0
|
||||||
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
|
@ -11,10 +11,12 @@ import com.m2pool.pool.enums.PoolCalParamConfig;
|
||||||
import com.m2pool.pool.enums.PoolUnits;
|
import com.m2pool.pool.enums.PoolUnits;
|
||||||
import com.m2pool.pool.enums.Pools;
|
import com.m2pool.pool.enums.Pools;
|
||||||
import com.m2pool.pool.mapper.PoolMapper;
|
import com.m2pool.pool.mapper.PoolMapper;
|
||||||
|
import lombok.Data;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.BeanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
@ -32,10 +34,14 @@ import java.util.stream.Collectors;
|
||||||
* @Date 2024/6/14 14:03
|
* @Date 2024/6/14 14:03
|
||||||
* @Author dy
|
* @Author dy
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@ConfigurationProperties(prefix = "task.data")
|
||||||
@EnableScheduling
|
@EnableScheduling
|
||||||
public class DataTask {
|
public class DataTask {
|
||||||
|
|
||||||
|
private boolean enable;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PoolMapper poolMapper;
|
private PoolMapper poolMapper;
|
||||||
|
|
||||||
|
@ -51,7 +57,10 @@ public class DataTask {
|
||||||
@Scheduled(cron = "20 1,3,10,31,33,40 * * * ?")
|
@Scheduled(cron = "20 1,3,10,31,33,40 * * * ?")
|
||||||
public void NEXA30mDataToDB(){
|
public void NEXA30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
System.out.println("DataTask 定时任务已关闭,请在nacos修改配置");
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -229,6 +238,9 @@ public class DataTask {
|
||||||
|
|
||||||
@Scheduled(cron = "0 1,3,5 0 * * ?")
|
@Scheduled(cron = "0 1,3,5 0 * * ?")
|
||||||
public void NEXADailyDataToDB(){
|
public void NEXADailyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
||||||
Date now = DateUtils.parseDate( nowStr);
|
Date now = DateUtils.parseDate( nowStr);
|
||||||
|
|
||||||
|
@ -382,7 +394,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "50 0,1,30,31 * * * ?")
|
@Scheduled(cron = "50 0,1,30,31 * * * ?")
|
||||||
public void NEXAUserPowerRatioDataToDB(){
|
public void NEXAUserPowerRatioDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
now.setHours(0);
|
now.setHours(0);
|
||||||
now.setMinutes(0);
|
now.setMinutes(0);
|
||||||
|
@ -408,6 +422,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "30 3 0/1 * * ?")
|
@Scheduled(cron = "30 3 0/1 * * ?")
|
||||||
//@Scheduled(cron = "0 0/2 * * * ?")
|
//@Scheduled(cron = "0 0/2 * * * ?")
|
||||||
public void NEXALuckyDataToDB(){
|
public void NEXALuckyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
log.info("nexa幸运值---定时任务开始");
|
log.info("nexa幸运值---定时任务开始");
|
||||||
LuckDto dto = new LuckDto();
|
LuckDto dto = new LuckDto();
|
||||||
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
||||||
|
@ -500,7 +517,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "11 1,3,11,31,33,41 * * * ?")
|
@Scheduled(cron = "11 1,3,11,31,33,41 * * * ?")
|
||||||
public void GRS30mDataToDB(){
|
public void GRS30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -665,6 +684,9 @@ public class DataTask {
|
||||||
|
|
||||||
@Scheduled(cron = "1 1,3,5 0 * * ?")
|
@Scheduled(cron = "1 1,3,5 0 * * ?")
|
||||||
public void GRSDailyDataToDB(){
|
public void GRSDailyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
||||||
Date now = DateUtils.parseDate( nowStr);
|
Date now = DateUtils.parseDate( nowStr);
|
||||||
|
|
||||||
|
@ -819,7 +841,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "51 0,1,30,31 * * * ?")
|
@Scheduled(cron = "51 0,1,30,31 * * * ?")
|
||||||
public void GRSUserPowerRatioDataToDB(){
|
public void GRSUserPowerRatioDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
now.setHours(0);
|
now.setHours(0);
|
||||||
now.setMinutes(0);
|
now.setMinutes(0);
|
||||||
|
@ -849,6 +873,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "31 3 0/1 * * ?")
|
@Scheduled(cron = "31 3 0/1 * * ?")
|
||||||
//@Scheduled(cron = "0 0/2 * * * ?")
|
//@Scheduled(cron = "0 0/2 * * * ?")
|
||||||
public void GRSLuckyDataToDB(){
|
public void GRSLuckyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
log.info("GRS幸运值---定时任务开始");
|
log.info("GRS幸运值---定时任务开始");
|
||||||
LuckDto dto = new LuckDto();
|
LuckDto dto = new LuckDto();
|
||||||
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
||||||
|
@ -912,7 +939,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "12 1,3,12,31,33,42 * * * ?")
|
@Scheduled(cron = "12 1,3,12,31,33,42 * * * ?")
|
||||||
public void MONA30mDataToDB(){
|
public void MONA30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -1074,6 +1103,9 @@ public class DataTask {
|
||||||
|
|
||||||
@Scheduled(cron = "2 1,3,5 0 * * ?")
|
@Scheduled(cron = "2 1,3,5 0 * * ?")
|
||||||
public void MONADailyDataToDB(){
|
public void MONADailyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
||||||
Date now = DateUtils.parseDate( nowStr);
|
Date now = DateUtils.parseDate( nowStr);
|
||||||
|
|
||||||
|
@ -1230,7 +1262,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "52 0,1,30,31 * * * ?")
|
@Scheduled(cron = "52 0,1,30,31 * * * ?")
|
||||||
public void MONAUserPowerRatioDataToDB(){
|
public void MONAUserPowerRatioDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
now.setHours(0);
|
now.setHours(0);
|
||||||
now.setMinutes(0);
|
now.setMinutes(0);
|
||||||
|
@ -1259,6 +1293,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "32 3 0/1 * * ?")
|
@Scheduled(cron = "32 3 0/1 * * ?")
|
||||||
//@Scheduled(cron = "0 0/2 * * * ?")
|
//@Scheduled(cron = "0 0/2 * * * ?")
|
||||||
public void MONALuckyDataToDB(){
|
public void MONALuckyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
log.info("MONA幸运值---定时任务开始");
|
log.info("MONA幸运值---定时任务开始");
|
||||||
LuckDto dto = new LuckDto();
|
LuckDto dto = new LuckDto();
|
||||||
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
||||||
|
@ -1325,7 +1362,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "14 1,3,9,31,33,39 * * * ?")
|
@Scheduled(cron = "14 1,3,9,31,33,39 * * * ?")
|
||||||
public void DGBO30mDataToDB(){
|
public void DGBO30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -1487,6 +1526,9 @@ public class DataTask {
|
||||||
|
|
||||||
@Scheduled(cron = "4 1,3,5 0 * * ?")
|
@Scheduled(cron = "4 1,3,5 0 * * ?")
|
||||||
public void DGBODailyDataToDB(){
|
public void DGBODailyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
||||||
Date now = DateUtils.parseDate( nowStr);
|
Date now = DateUtils.parseDate( nowStr);
|
||||||
|
|
||||||
|
@ -1643,7 +1685,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "54 0,1,30,31 * * * ?")
|
@Scheduled(cron = "54 0,1,30,31 * * * ?")
|
||||||
public void DGBOUserPowerRatioDataToDB(){
|
public void DGBOUserPowerRatioDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
now.setHours(0);
|
now.setHours(0);
|
||||||
now.setMinutes(0);
|
now.setMinutes(0);
|
||||||
|
@ -1673,7 +1717,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "34 3 0/1 * * ?")
|
@Scheduled(cron = "34 3 0/1 * * ?")
|
||||||
//@Scheduled(cron = "0 0/2 * * * ?")
|
//@Scheduled(cron = "0 0/2 * * * ?")
|
||||||
public void DGBOLuckyDataToDB(){
|
public void DGBOLuckyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
log.info("DGBO幸运值---定时任务开始");
|
log.info("DGBO幸运值---定时任务开始");
|
||||||
LuckDto dto = new LuckDto();
|
LuckDto dto = new LuckDto();
|
||||||
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
||||||
|
@ -1740,7 +1786,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "16 1,3,8,31,33,38 * * * ?")
|
@Scheduled(cron = "16 1,3,8,31,33,38 * * * ?")
|
||||||
public void DGBQ30mDataToDB(){
|
public void DGBQ30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -1902,6 +1950,9 @@ public class DataTask {
|
||||||
|
|
||||||
@Scheduled(cron = "6 1,3,5 0 * * ?")
|
@Scheduled(cron = "6 1,3,5 0 * * ?")
|
||||||
public void DGBQDailyDataToDB(){
|
public void DGBQDailyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
||||||
Date now = DateUtils.parseDate( nowStr);
|
Date now = DateUtils.parseDate( nowStr);
|
||||||
|
|
||||||
|
@ -2058,7 +2109,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "56 0,1,30,31 * * * ?")
|
@Scheduled(cron = "56 0,1,30,31 * * * ?")
|
||||||
public void DGBQUserPowerRatioDataToDB(){
|
public void DGBQUserPowerRatioDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
now.setHours(0);
|
now.setHours(0);
|
||||||
now.setMinutes(0);
|
now.setMinutes(0);
|
||||||
|
@ -2087,6 +2140,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "36 3 0/1 * * ?")
|
@Scheduled(cron = "36 3 0/1 * * ?")
|
||||||
//@Scheduled(cron = "0 0/2 * * * ?")
|
//@Scheduled(cron = "0 0/2 * * * ?")
|
||||||
public void DGBQLuckyDataToDB(){
|
public void DGBQLuckyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
log.info("DGBQ幸运值---定时任务开始");
|
log.info("DGBQ幸运值---定时任务开始");
|
||||||
LuckDto dto = new LuckDto();
|
LuckDto dto = new LuckDto();
|
||||||
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
||||||
|
@ -2153,7 +2209,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "18 1,3,7,31,33,37 * * * ?")
|
@Scheduled(cron = "18 1,3,7,31,33,37 * * * ?")
|
||||||
public void DGBS30mDataToDB(){
|
public void DGBS30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -2315,6 +2373,9 @@ public class DataTask {
|
||||||
|
|
||||||
@Scheduled(cron = "8 1,3,5 0 * * ?")
|
@Scheduled(cron = "8 1,3,5 0 * * ?")
|
||||||
public void DGBSDailyDataToDB(){
|
public void DGBSDailyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
||||||
Date now = DateUtils.parseDate( nowStr);
|
Date now = DateUtils.parseDate( nowStr);
|
||||||
|
|
||||||
|
@ -2469,7 +2530,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "58 0,1,30,31 * * * ?")
|
@Scheduled(cron = "58 0,1,30,31 * * * ?")
|
||||||
public void DGBSUserPowerRatioDataToDB(){
|
public void DGBSUserPowerRatioDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
now.setHours(0);
|
now.setHours(0);
|
||||||
now.setMinutes(0);
|
now.setMinutes(0);
|
||||||
|
@ -2498,6 +2561,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "38 3 0/1 * * ?")
|
@Scheduled(cron = "38 3 0/1 * * ?")
|
||||||
//@Scheduled(cron = "0 0/2 * * * ?")
|
//@Scheduled(cron = "0 0/2 * * * ?")
|
||||||
public void DGBSLuckyDataToDB(){
|
public void DGBSLuckyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
log.info("DGBS幸运值---定时任务开始");
|
log.info("DGBS幸运值---定时任务开始");
|
||||||
LuckDto dto = new LuckDto();
|
LuckDto dto = new LuckDto();
|
||||||
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
||||||
|
@ -2564,7 +2630,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "19 1,3,13,31,33,43 * * * ?")
|
@Scheduled(cron = "19 1,3,13,31,33,43 * * * ?")
|
||||||
public void RXD30mDataToDB(){
|
public void RXD30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -2724,6 +2792,9 @@ public class DataTask {
|
||||||
|
|
||||||
@Scheduled(cron = "9 1,3,5 0 * * ?")
|
@Scheduled(cron = "9 1,3,5 0 * * ?")
|
||||||
public void RXDDailyDataToDB(){
|
public void RXDDailyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
||||||
Date now = DateUtils.parseDate( nowStr);
|
Date now = DateUtils.parseDate( nowStr);
|
||||||
|
|
||||||
|
@ -2877,7 +2948,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "59 0,1,30,31 * * * ?")
|
@Scheduled(cron = "59 0,1,30,31 * * * ?")
|
||||||
public void RXDUserPowerRatioDataToDB(){
|
public void RXDUserPowerRatioDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
now.setHours(0);
|
now.setHours(0);
|
||||||
now.setMinutes(0);
|
now.setMinutes(0);
|
||||||
|
@ -2901,6 +2974,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "39 3 0/1 * * ?")
|
@Scheduled(cron = "39 3 0/1 * * ?")
|
||||||
//@Scheduled(cron = "0 0/2 * * * ?")
|
//@Scheduled(cron = "0 0/2 * * * ?")
|
||||||
public void RXDLuckyDataToDB(){
|
public void RXDLuckyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
log.info("rxd幸运值---定时任务开始");
|
log.info("rxd幸运值---定时任务开始");
|
||||||
LuckDto dto = new LuckDto();
|
LuckDto dto = new LuckDto();
|
||||||
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD_HH_MM_SS));
|
||||||
|
@ -2966,7 +3042,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "21 1,3,13,31,33,43 * * * ?")
|
@Scheduled(cron = "21 1,3,13,31,33,43 * * * ?")
|
||||||
public void ENX30mDataToDB(){
|
public void ENX30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -3126,6 +3204,9 @@ public class DataTask {
|
||||||
|
|
||||||
@Scheduled(cron = "10 1,3,5 0 * * ?")
|
@Scheduled(cron = "10 1,3,5 0 * * ?")
|
||||||
public void ENXDailyDataToDB(){
|
public void ENXDailyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
||||||
Date now = DateUtils.parseDate( nowStr);
|
Date now = DateUtils.parseDate( nowStr);
|
||||||
|
|
||||||
|
@ -3279,7 +3360,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "53 0,1,30,31 * * * ?")
|
@Scheduled(cron = "53 0,1,30,31 * * * ?")
|
||||||
public void ENXUserPowerRatioDataToDB(){
|
public void ENXUserPowerRatioDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
now.setHours(0);
|
now.setHours(0);
|
||||||
now.setMinutes(0);
|
now.setMinutes(0);
|
||||||
|
@ -3303,6 +3386,9 @@ public class DataTask {
|
||||||
//@Scheduled(cron = "30 2,7 0,12 * * ?")
|
//@Scheduled(cron = "30 2,7 0,12 * * ?")
|
||||||
@Scheduled(cron = "41 2,5 0/12 * * ?")
|
@Scheduled(cron = "41 2,5 0/12 * * ?")
|
||||||
public void ENXLuckyDataToDB(){
|
public void ENXLuckyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
int time = 0;
|
int time = 0;
|
||||||
LuckDto dto = new LuckDto();
|
LuckDto dto = new LuckDto();
|
||||||
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD));
|
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD));
|
||||||
|
@ -3531,7 +3617,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "23 1,3,13,31,33,43 * * * ?")
|
@Scheduled(cron = "23 1,3,13,31,33,43 * * * ?")
|
||||||
public void ALPH30mDataToDB(){
|
public void ALPH30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -3691,6 +3779,9 @@ public class DataTask {
|
||||||
|
|
||||||
@Scheduled(cron = "12 1,3,5 0 * * ?")
|
@Scheduled(cron = "12 1,3,5 0 * * ?")
|
||||||
public void ALPHDailyDataToDB(){
|
public void ALPHDailyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
String nowStr = DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD);
|
||||||
Date now = DateUtils.parseDate( nowStr);
|
Date now = DateUtils.parseDate( nowStr);
|
||||||
|
|
||||||
|
@ -3841,7 +3932,9 @@ public class DataTask {
|
||||||
@Scheduled(cron = "52 0,1,30,31 * * * ?")
|
@Scheduled(cron = "52 0,1,30,31 * * * ?")
|
||||||
public void ALPHUserPowerRatioDataToDB(){
|
public void ALPHUserPowerRatioDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
now.setHours(0);
|
now.setHours(0);
|
||||||
now.setMinutes(0);
|
now.setMinutes(0);
|
||||||
|
@ -3865,6 +3958,9 @@ public class DataTask {
|
||||||
//@Scheduled(cron = "30 2,7 0,12 * * ?")
|
//@Scheduled(cron = "30 2,7 0,12 * * ?")
|
||||||
@Scheduled(cron = "42 2,5 0/12 * * ?")
|
@Scheduled(cron = "42 2,5 0/12 * * ?")
|
||||||
public void ALPHLuckyDataToDB(){
|
public void ALPHLuckyDataToDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
int time = 0;
|
int time = 0;
|
||||||
LuckDto dto = new LuckDto();
|
LuckDto dto = new LuckDto();
|
||||||
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD));
|
Date end = DateUtils.parseDate(DateUtils.dateTimeNow(DateUtils.YYYY_MM_DD));
|
||||||
|
|
|
@ -9,8 +9,10 @@ import com.m2pool.common.redis.service.RedisService;
|
||||||
import com.m2pool.pool.mapper.PoolMapper;
|
import com.m2pool.pool.mapper.PoolMapper;
|
||||||
import com.m2pool.pool.utils.NodeRpc;
|
import com.m2pool.pool.utils.NodeRpc;
|
||||||
import com.m2pool.pool.vo.DateValueVo;
|
import com.m2pool.pool.vo.DateValueVo;
|
||||||
|
import lombok.Data;
|
||||||
import org.apache.http.HttpHeaders;
|
import org.apache.http.HttpHeaders;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
@ -25,10 +27,14 @@ import java.util.Map;
|
||||||
* @Date 2024/6/14 14:03
|
* @Date 2024/6/14 14:03
|
||||||
* @Author dy
|
* @Author dy
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@ConfigurationProperties(prefix = "task.price")
|
||||||
@EnableScheduling
|
@EnableScheduling
|
||||||
public class NeaxPriceTask {
|
public class NeaxPriceTask {
|
||||||
|
|
||||||
|
private boolean enable;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PoolMapper poolMapper;
|
private PoolMapper poolMapper;
|
||||||
|
|
||||||
|
@ -45,6 +51,10 @@ public class NeaxPriceTask {
|
||||||
@Scheduled(cron = "0 0,3,30,33 * * * ?")
|
@Scheduled(cron = "0 0,3,30,33 * * * ?")
|
||||||
public void NEXAPriceToRedis()
|
public void NEXAPriceToRedis()
|
||||||
{
|
{
|
||||||
|
if(!enable){
|
||||||
|
System.out.println("NeaxPriceTask 定时任务已关闭,请在nacos修改配置");
|
||||||
|
return;
|
||||||
|
}
|
||||||
Map<String, BigDecimal> map = getResultFromNetByAllCoins();
|
Map<String, BigDecimal> map = getResultFromNetByAllCoins();
|
||||||
int count = 1;
|
int count = 1;
|
||||||
while (StringUtils.isNull(map)
|
while (StringUtils.isNull(map)
|
||||||
|
|
|
@ -10,9 +10,13 @@ import com.m2pool.pool.entity.BlockInfo;
|
||||||
import com.m2pool.pool.mapper.PoolMapper;
|
import com.m2pool.pool.mapper.PoolMapper;
|
||||||
import com.m2pool.pool.utils.NodeRpc;
|
import com.m2pool.pool.utils.NodeRpc;
|
||||||
import com.m2pool.pool.vo.DateValueVo;
|
import com.m2pool.pool.vo.DateValueVo;
|
||||||
|
import lombok.Data;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
|
import org.springframework.cloud.context.config.annotation.RefreshScope;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.http.HttpEntity;
|
import org.springframework.http.HttpEntity;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
|
@ -32,10 +36,13 @@ import java.util.Map;
|
||||||
* @Date 2024/6/14 14:03
|
* @Date 2024/6/14 14:03
|
||||||
* @Author dy
|
* @Author dy
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@ConfigurationProperties(prefix = "task.node")
|
||||||
@EnableScheduling
|
@EnableScheduling
|
||||||
public class NodeTask {
|
public class NodeTask {
|
||||||
|
|
||||||
|
private boolean enable;
|
||||||
|
|
||||||
private static final Logger log = LoggerFactory.getLogger(NodeTask.class);
|
private static final Logger log = LoggerFactory.getLogger(NodeTask.class);
|
||||||
|
|
||||||
|
@ -49,9 +56,14 @@ public class NodeTask {
|
||||||
@Autowired
|
@Autowired
|
||||||
private TransactionTemplate transactionTemplate;
|
private TransactionTemplate transactionTemplate;
|
||||||
|
|
||||||
|
|
||||||
//@Scheduled(cron = "0 0/2 * * * ?")
|
//@Scheduled(cron = "0 0/2 * * * ?")
|
||||||
@Scheduled(cron = "5 0,30 * * * ?")
|
@Scheduled(cron = "5 0,30 * * * ?")
|
||||||
public void NEXABlockInfoToRedisAndDB(){
|
public void NEXABlockInfoToRedisAndDB(){
|
||||||
|
if(!enable){
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("nexa");
|
BlockInfo blockInfo = NodeRpc.getBlock("nexa");
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -83,6 +95,10 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "0 0/1 * * * ?")
|
@Scheduled(cron = "0 0/1 * * * ?")
|
||||||
public void NEXABlockInfoToRedis(){
|
public void NEXABlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
System.out.println("NodeTask 定时任务已关闭,请在nacos修改配置");
|
||||||
|
return;
|
||||||
|
}
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("nexa");
|
BlockInfo blockInfo = NodeRpc.getBlock("nexa");
|
||||||
int count = 0;
|
int count = 0;
|
||||||
while (StringUtils.isNull(blockInfo)){
|
while (StringUtils.isNull(blockInfo)){
|
||||||
|
@ -109,6 +125,9 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "10 0,30 * * * ?")
|
@Scheduled(cron = "10 0,30 * * * ?")
|
||||||
public void GRSBlockInfoToRedisAndDB(){
|
public void GRSBlockInfoToRedisAndDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("grs");
|
BlockInfo blockInfo = NodeRpc.getBlock("grs");
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -139,27 +158,32 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "2 0/1 * * * ?")
|
@Scheduled(cron = "2 0/1 * * * ?")
|
||||||
public void GRSBlockInfoToRedis(){
|
public void GRSBlockInfoToRedis(){
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("grs");
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
BlockInfo blockInfo = NodeRpc.getBlock("grs");
|
||||||
|
if(StringUtils.isNotNull(blockInfo)){
|
||||||
|
if(StringUtils.isNotNull(blockInfo.getPower())){
|
||||||
|
|
||||||
if(StringUtils.isNotNull(blockInfo)){
|
if (redisService.hasKey("grs_block")){
|
||||||
if(StringUtils.isNotNull(blockInfo.getPower())){
|
redisService.deleteObject("grs_block");
|
||||||
|
redisService.setCacheObject("grs_block",blockInfo);
|
||||||
|
}else {
|
||||||
|
redisService.setCacheObject("grs_block",blockInfo);
|
||||||
|
}
|
||||||
|
|
||||||
if (redisService.hasKey("grs_block")){
|
|
||||||
redisService.deleteObject("grs_block");
|
|
||||||
redisService.setCacheObject("grs_block",blockInfo);
|
|
||||||
}else {
|
|
||||||
redisService.setCacheObject("grs_block",blockInfo);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
else {
|
||||||
else {
|
System.out.println("未从节点获取到grs最新数据 :"+DateUtils.dateTimeNow());
|
||||||
System.out.println("未从节点获取到grs最新数据 :"+DateUtils.dateTimeNow());
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Scheduled(cron = "15 0,30 * * * ?")
|
@Scheduled(cron = "15 0,30 * * * ?")
|
||||||
public void MONABlockInfoToRedisAndDB(){
|
public void MONABlockInfoToRedisAndDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("mona");
|
BlockInfo blockInfo = NodeRpc.getBlock("mona");
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -191,6 +215,9 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "4 0/1 * * * ?")
|
@Scheduled(cron = "4 0/1 * * * ?")
|
||||||
public void MONABlockInfoToRedis(){
|
public void MONABlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("mona");
|
BlockInfo blockInfo = NodeRpc.getBlock("mona");
|
||||||
|
|
||||||
if(StringUtils.isNotNull(blockInfo)){
|
if(StringUtils.isNotNull(blockInfo)){
|
||||||
|
@ -212,6 +239,9 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "20 0,30 * * * ?")
|
@Scheduled(cron = "20 0,30 * * * ?")
|
||||||
public void DGBBlockInfoToRedisAndDB(){
|
public void DGBBlockInfoToRedisAndDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Map<String, BlockInfo> dgbMap = NodeRpc.getDGBBlock();
|
Map<String, BlockInfo> dgbMap = NodeRpc.getDGBBlock();
|
||||||
int count = 1;
|
int count = 1;
|
||||||
while (StringUtils.isNull(dgbMap)){
|
while (StringUtils.isNull(dgbMap)){
|
||||||
|
@ -299,6 +329,9 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "6 0/1 * * * ?")
|
@Scheduled(cron = "6 0/1 * * * ?")
|
||||||
public void DGBBlockInfoToRedis(){
|
public void DGBBlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Map<String, BlockInfo> dgbMap = NodeRpc.getDGBBlock();
|
Map<String, BlockInfo> dgbMap = NodeRpc.getDGBBlock();
|
||||||
if(StringUtils.isNotNull(dgbMap)){
|
if(StringUtils.isNotNull(dgbMap)){
|
||||||
BlockInfo dgbo = dgbMap.getOrDefault("dgbo", null);
|
BlockInfo dgbo = dgbMap.getOrDefault("dgbo", null);
|
||||||
|
@ -344,6 +377,9 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "25 0,30 * * * ?")
|
@Scheduled(cron = "25 0,30 * * * ?")
|
||||||
public void RXDBlockInfoToRedisAndDB(){
|
public void RXDBlockInfoToRedisAndDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("rxd");
|
BlockInfo blockInfo = NodeRpc.getBlock("rxd");
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -375,6 +411,9 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "8 0/1 * * * ?")
|
@Scheduled(cron = "8 0/1 * * * ?")
|
||||||
public void RXDBlockInfoToRedis(){
|
public void RXDBlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("rxd");
|
BlockInfo blockInfo = NodeRpc.getBlock("rxd");
|
||||||
|
|
||||||
if(StringUtils.isNotNull(blockInfo)){
|
if(StringUtils.isNotNull(blockInfo)){
|
||||||
|
@ -396,6 +435,9 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "30 0,30 * * * ?")
|
@Scheduled(cron = "30 0,30 * * * ?")
|
||||||
public void ALPHBlockInfoToRedisAndDB(){
|
public void ALPHBlockInfoToRedisAndDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("alph");
|
BlockInfo blockInfo = NodeRpc.getBlock("alph");
|
||||||
//改成根据swagger api调用 用与原有节点调用相比新的路径、新的api
|
//改成根据swagger api调用 用与原有节点调用相比新的路径、新的api
|
||||||
|
|
||||||
|
@ -428,6 +470,9 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "14 0/1 * * * ?")
|
@Scheduled(cron = "14 0/1 * * * ?")
|
||||||
public void ALPHBlockInfoToRedis(){
|
public void ALPHBlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("alph");
|
BlockInfo blockInfo = NodeRpc.getBlock("alph");
|
||||||
|
|
||||||
if(StringUtils.isNotNull(blockInfo)){
|
if(StringUtils.isNotNull(blockInfo)){
|
||||||
|
@ -449,6 +494,9 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "35 0,30 * * * ?")
|
@Scheduled(cron = "35 0,30 * * * ?")
|
||||||
public void ENXBlockInfoToRedisAndDB(){
|
public void ENXBlockInfoToRedisAndDB(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("enx");
|
BlockInfo blockInfo = NodeRpc.getBlock("enx");
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -480,6 +528,9 @@ public class NodeTask {
|
||||||
|
|
||||||
@Scheduled(cron = "12 0/1 * * * ?")
|
@Scheduled(cron = "12 0/1 * * * ?")
|
||||||
public void ENXBlockInfoToRedis(){
|
public void ENXBlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
BlockInfo blockInfo = NodeRpc.getBlock("enx");
|
BlockInfo blockInfo = NodeRpc.getBlock("enx");
|
||||||
|
|
||||||
if(StringUtils.isNotNull(blockInfo)){
|
if(StringUtils.isNotNull(blockInfo)){
|
||||||
|
@ -506,6 +557,9 @@ public class NodeTask {
|
||||||
@Scheduled(cron = "0 2 0/1 * * ?")
|
@Scheduled(cron = "0 2 0/1 * * ?")
|
||||||
//@Scheduled(cron = "0 0/2 * * * ?")
|
//@Scheduled(cron = "0 0/2 * * * ?")
|
||||||
public void insertNetBlock(){
|
public void insertNetBlock(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
insertBlockWithRetry("nexa", "nexa_net_block", 5);
|
insertBlockWithRetry("nexa", "nexa_net_block", 5);
|
||||||
insertBlockWithRetry("mona", "mona_net_block", 5);
|
insertBlockWithRetry("mona", "mona_net_block", 5);
|
||||||
insertBlockWithRetry("rxd", "rxd_net_block", 5);
|
insertBlockWithRetry("rxd", "rxd_net_block", 5);
|
||||||
|
|
|
@ -9,7 +9,9 @@ import com.m2pool.pool.mapper.NoticeMapper;
|
||||||
import com.m2pool.pool.mapper.PoolMapper;
|
import com.m2pool.pool.mapper.PoolMapper;
|
||||||
import com.m2pool.system.api.RemoteMailService;
|
import com.m2pool.system.api.RemoteMailService;
|
||||||
import com.m2pool.system.api.entity.EmailEntity;
|
import com.m2pool.system.api.entity.EmailEntity;
|
||||||
|
import lombok.Data;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
@ -22,9 +24,12 @@ import java.util.stream.Collectors;
|
||||||
* @Date 2024/6/14 14:03
|
* @Date 2024/6/14 14:03
|
||||||
* @Author dy
|
* @Author dy
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@ConfigurationProperties(prefix = "task.notice")
|
||||||
@EnableScheduling
|
@EnableScheduling
|
||||||
public class OffLineNoticeTask {
|
public class OffLineNoticeTask {
|
||||||
|
private boolean enable;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PoolMapper poolMapper;
|
private PoolMapper poolMapper;
|
||||||
|
@ -43,7 +48,10 @@ public class OffLineNoticeTask {
|
||||||
@Scheduled(cron = "20 15,45 * * * ?")
|
@Scheduled(cron = "20 15,45 * * * ?")
|
||||||
public void NEXA30mDataToDB(){
|
public void NEXA30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
System.out.println("OffLineNoticeTask 定时任务已关闭,请在nacos修改配置");
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -125,7 +133,9 @@ public class OffLineNoticeTask {
|
||||||
@Scheduled(cron = "11 16,46 * * * ?")
|
@Scheduled(cron = "11 16,46 * * * ?")
|
||||||
public void GRS30mDataToDB(){
|
public void GRS30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -203,7 +213,9 @@ public class OffLineNoticeTask {
|
||||||
@Scheduled(cron = "12 17,47 * * * ?")
|
@Scheduled(cron = "12 17,47 * * * ?")
|
||||||
public void MONA30mDataToDB(){
|
public void MONA30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -281,7 +293,9 @@ public class OffLineNoticeTask {
|
||||||
@Scheduled(cron = "14 18,48 * * * ?")
|
@Scheduled(cron = "14 18,48 * * * ?")
|
||||||
public void DGBO30mDataToDB(){
|
public void DGBO30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -358,7 +372,9 @@ public class OffLineNoticeTask {
|
||||||
@Scheduled(cron = "16 19,49 * * * ?")
|
@Scheduled(cron = "16 19,49 * * * ?")
|
||||||
public void DGBQ30mDataToDB(){
|
public void DGBQ30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -435,7 +451,9 @@ public class OffLineNoticeTask {
|
||||||
@Scheduled(cron = "18 20,50 * * * ?")
|
@Scheduled(cron = "18 20,50 * * * ?")
|
||||||
public void DGBS30mDataToDB(){
|
public void DGBS30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -512,7 +530,9 @@ public class OffLineNoticeTask {
|
||||||
@Scheduled(cron = "19 21,51 * * * ?")
|
@Scheduled(cron = "19 21,51 * * * ?")
|
||||||
public void RXD30mDataToDB(){
|
public void RXD30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -589,7 +609,9 @@ public class OffLineNoticeTask {
|
||||||
@Scheduled(cron = "20 23,53 * * * ?")
|
@Scheduled(cron = "20 23,53 * * * ?")
|
||||||
public void ALPH30mDataToDB(){
|
public void ALPH30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
@ -666,7 +688,9 @@ public class OffLineNoticeTask {
|
||||||
@Scheduled(cron = "21 25,55 * * * ?")
|
@Scheduled(cron = "21 25,55 * * * ?")
|
||||||
public void ENX30mDataToDB(){
|
public void ENX30mDataToDB(){
|
||||||
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
//String nowStr = DateUtils.dateTimeNow("yyyy-MM-dd HH:mm:00");
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
int minute = (now.getMinutes() / 30) * 30;
|
int minute = (now.getMinutes() / 30) * 30;
|
||||||
now.setMinutes( minute);
|
now.setMinutes( minute);
|
||||||
|
|
|
@ -4,7 +4,9 @@ import com.m2pool.common.core.utils.DateUtils;
|
||||||
import com.m2pool.common.redis.service.RedisService;
|
import com.m2pool.common.redis.service.RedisService;
|
||||||
import com.m2pool.pool.dto.BlockInfoDto;
|
import com.m2pool.pool.dto.BlockInfoDto;
|
||||||
import com.m2pool.pool.mapper.PoolMapper;
|
import com.m2pool.pool.mapper.PoolMapper;
|
||||||
|
import lombok.Data;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||||
import org.springframework.scheduling.annotation.Scheduled;
|
import org.springframework.scheduling.annotation.Scheduled;
|
||||||
|
@ -18,10 +20,14 @@ import java.util.List;
|
||||||
* @Date 2024/6/14 14:03
|
* @Date 2024/6/14 14:03
|
||||||
* @Author dy
|
* @Author dy
|
||||||
*/
|
*/
|
||||||
|
@Data
|
||||||
@Configuration
|
@Configuration
|
||||||
|
@ConfigurationProperties(prefix = "task.pool")
|
||||||
@EnableScheduling
|
@EnableScheduling
|
||||||
public class PoolBlkStatsTask {
|
public class PoolBlkStatsTask {
|
||||||
|
|
||||||
|
private boolean enable;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PoolMapper poolMapper;
|
private PoolMapper poolMapper;
|
||||||
|
|
||||||
|
@ -30,6 +36,10 @@ public class PoolBlkStatsTask {
|
||||||
|
|
||||||
@Scheduled(cron = "0 0/2 * * * ?")
|
@Scheduled(cron = "0 0/2 * * * ?")
|
||||||
public void NEXABlockInfoToRedis(){
|
public void NEXABlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
System.out.println("PoolBlkStatsTask 定时任务已关闭,请在nacos修改配置");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
boolean result = NEXABlockInfo();
|
boolean result = NEXABlockInfo();
|
||||||
|
|
||||||
|
@ -46,7 +56,9 @@ public class PoolBlkStatsTask {
|
||||||
|
|
||||||
@Scheduled(cron = "5 0/2 * * * ?")
|
@Scheduled(cron = "5 0/2 * * * ?")
|
||||||
public void GRSBlockInfoToRedis(){
|
public void GRSBlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
boolean result = GRSBlockInfo();
|
boolean result = GRSBlockInfo();
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -62,7 +74,9 @@ public class PoolBlkStatsTask {
|
||||||
|
|
||||||
@Scheduled(cron = "10 0/2 * * * ?")
|
@Scheduled(cron = "10 0/2 * * * ?")
|
||||||
public void MONABlockInfoToRedis(){
|
public void MONABlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
boolean result = MONABlockInfo();
|
boolean result = MONABlockInfo();
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -78,7 +92,9 @@ public class PoolBlkStatsTask {
|
||||||
|
|
||||||
@Scheduled(cron = "15 0/2 * * * ?")
|
@Scheduled(cron = "15 0/2 * * * ?")
|
||||||
public void DGBOBlockInfoToRedis(){
|
public void DGBOBlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
boolean result = DGBOBlockInfo();
|
boolean result = DGBOBlockInfo();
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -94,7 +110,9 @@ public class PoolBlkStatsTask {
|
||||||
|
|
||||||
@Scheduled(cron = "20 0/2 * * * ?")
|
@Scheduled(cron = "20 0/2 * * * ?")
|
||||||
public void DGBQBlockInfoToRedis(){
|
public void DGBQBlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
boolean result = DGBQBlockInfo();
|
boolean result = DGBQBlockInfo();
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -110,7 +128,9 @@ public class PoolBlkStatsTask {
|
||||||
|
|
||||||
@Scheduled(cron = "25 0/2 * * * ?")
|
@Scheduled(cron = "25 0/2 * * * ?")
|
||||||
public void DGBSBlockInfoToRedis(){
|
public void DGBSBlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
boolean result = DGBSBlockInfo();
|
boolean result = DGBSBlockInfo();
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -126,7 +146,9 @@ public class PoolBlkStatsTask {
|
||||||
|
|
||||||
@Scheduled(cron = "30 0/2 * * * ?")
|
@Scheduled(cron = "30 0/2 * * * ?")
|
||||||
public void RXDBlockInfoToRedis(){
|
public void RXDBlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
boolean result = RXDBlockInfo();
|
boolean result = RXDBlockInfo();
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -142,7 +164,9 @@ public class PoolBlkStatsTask {
|
||||||
|
|
||||||
@Scheduled(cron = "35 0/2 * * * ?")
|
@Scheduled(cron = "35 0/2 * * * ?")
|
||||||
public void ALPHBlockInfoToRedis(){
|
public void ALPHBlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
boolean result = ALPHBlockInfo();
|
boolean result = ALPHBlockInfo();
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
@ -158,7 +182,9 @@ public class PoolBlkStatsTask {
|
||||||
|
|
||||||
@Scheduled(cron = "40 0/2 * * * ?")
|
@Scheduled(cron = "40 0/2 * * * ?")
|
||||||
public void ENXBlockInfoToRedis(){
|
public void ENXBlockInfoToRedis(){
|
||||||
|
if(!enable){
|
||||||
|
return;
|
||||||
|
}
|
||||||
boolean result = ENXBlockInfo();
|
boolean result = ENXBlockInfo();
|
||||||
|
|
||||||
int count = 1;
|
int count = 1;
|
||||||
|
|
|
@ -2,12 +2,14 @@ package com.m2pool.pool.utils;
|
||||||
|
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import com.m2pool.common.core.utils.DateUtils;
|
||||||
import org.springframework.http.HttpEntity;
|
import org.springframework.http.HttpEntity;
|
||||||
import org.springframework.http.HttpHeaders;
|
import org.springframework.http.HttpHeaders;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @Description TODO
|
* @Description TODO
|
||||||
|
@ -25,15 +27,19 @@ public class SocketDemo {
|
||||||
//} catch (IOException e) {
|
//} catch (IOException e) {
|
||||||
// System.out.println("连接失败: " + e.getMessage());
|
// System.out.println("连接失败: " + e.getMessage());
|
||||||
//}
|
//}
|
||||||
String url = "http://10.168.2.167:12973/blockflow/chain-info?fromGroup=0&toGroup=0";
|
//String url = "http://10.168.2.167:12973/blockflow/chain-info?fromGroup=0&toGroup=0";
|
||||||
HttpHeaders headers = new HttpHeaders();
|
//HttpHeaders headers = new HttpHeaders();
|
||||||
headers.add("Content-Type","application/json");
|
//headers.add("Content-Type","application/json");
|
||||||
headers.add("User-Agent", "Mozilla/5.0");
|
//headers.add("User-Agent", "Mozilla/5.0");
|
||||||
headers.add("apikey","0x09e220e226f2feb7a971a2b6f958e7d4b1c187c8");
|
//headers.add("apikey","0x09e220e226f2feb7a971a2b6f958e7d4b1c187c8");
|
||||||
HttpEntity<String> httpEntity = new HttpEntity<String>(null, headers);
|
//HttpEntity<String> httpEntity = new HttpEntity<String>(null, headers);
|
||||||
String s = HttpUtil.get(url);
|
//String s = HttpUtil.get(url);
|
||||||
|
//
|
||||||
|
//JSONObject jsonObject = JSONObject.parseObject(s);
|
||||||
|
//int currentHeight = jsonObject.getIntValue("currentHeight");
|
||||||
|
|
||||||
JSONObject jsonObject = JSONObject.parseObject(s);
|
Date endDate = DateUtils.getPreviousHalfHourOrFullHour(new Date());
|
||||||
int currentHeight = jsonObject.getIntValue("currentHeight");
|
Date startDate = DateUtils.getOneMonthAgo(endDate);
|
||||||
|
System.out.println(startDate+" "+endDate);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue