SyncTimeService.java
3.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
package com.huaheng.pc.config.syncTime.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.huaheng.common.utils.DateUtils;
import com.huaheng.common.utils.StringUtils;
import com.huaheng.pc.config.syncTime.domain.SyncTime;
import com.huaheng.pc.config.syncTime.mapper.SyncTimeMapper;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* 同步更新的状态时间等
*/
@Service
public class SyncTimeService extends ServiceImpl<SyncTimeMapper, SyncTime>{
SimpleDateFormat sf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
public SyncTime getSyncTime(String syncName){
LambdaQueryWrapper<SyncTime> wrapper=new LambdaQueryWrapper<>();
wrapper.eq(SyncTime::getSyncName,syncName);
wrapper.last("limit 1");
return this.getOne(wrapper);
}
/**
*
* @param syncName 同步名称
* @param time 间隔多少分钟同步一次
* @return
*/
public Boolean isSync(String syncName,Integer time){
Boolean tag= false;
LambdaQueryWrapper<SyncTime> wrapper=new LambdaQueryWrapper<>();
wrapper.eq(SyncTime::getSyncName,syncName);
wrapper.last("limit 1");
SyncTime syncTime= this.getOne(wrapper);
if(syncTime!=null){
String startTime= DateUtils.getNowPreMin("yyyy-MM-dd HH:mm:ss", time);
Date syncPre=syncTime.getSyncTimes();
Date date=null;
try{
date=sf.parse(startTime);
}catch (Exception e){
}
//syncPre < date 返回true则可以继续同步,false则不可以
if(syncPre.before(date)){
tag=true;
}
}
return tag;
}
/**
* 修改状态,同步时间
* @param syncName
* @param status
*/
public void updateStatus(String syncName, int status, Date updateTime){
LambdaQueryWrapper<SyncTime> wrapper=new LambdaQueryWrapper<>();
wrapper.eq(SyncTime::getSyncName,syncName);
SyncTime syncTime=new SyncTime();
syncTime.setStatus(status);
if(updateTime!=null){
syncTime.setSyncTimes(updateTime);
}
this.update(syncTime,wrapper);
}
/**
* 修改开始编码
* @param syncName
*/
public void updateCodeStart(String syncName, String codeStart){
LambdaQueryWrapper<SyncTime> wrapper=new LambdaQueryWrapper<>();
wrapper.eq(SyncTime::getSyncName,syncName);
SyncTime syncTime=new SyncTime();
if(StringUtils.isNotEmpty(codeStart)){
syncTime.setCodeStart(codeStart);
}
this.update(syncTime,wrapper);
}
public SyncTime getTimeByName(String syncName){
LambdaQueryWrapper<SyncTime> wrapper=new LambdaQueryWrapper<>();
wrapper.eq(SyncTime::getSyncName,syncName);
wrapper.last("limit 1");
SyncTime syncTime= this.getOne(wrapper);
return syncTime;
}
}