GlobalDriverInfoCache.java
1.85 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
package com.ruoyi.common.global;
import com.ruoyi.in.domain.SignIn;
import com.ruoyi.pojo.domain.SignInExpand;
import com.ruoyi.utils.ConstDateUtil;
import org.springframework.stereotype.Component;
import java.security.Principal;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
/**
* @author 20412
*/
@Component
public class GlobalDriverInfoCache {
/**
* 上午签到汇总
*/
private final ConcurrentHashMap<String, List<SignInExpand>> morningUserSignInMap = new ConcurrentHashMap();
/**
* 下午签到汇总
*/
private final ConcurrentHashMap<String, List<SignInExpand>> afternoonUserSignInMap = new ConcurrentHashMap();
/**
* 驾驶员签到成功
*
* @param signIn
*/
public void putDriverSignInSuccess(SignIn signIn) {
ConcurrentHashMap<String, List<SignInExpand>> userCurrentMap = null;
int hour = Integer.parseInt(ConstDateUtil.formatDate("HH"));
if (hour >= 0 && hour < 12) {
userCurrentMap = morningUserSignInMap;
if (Objects.isNull(userCurrentMap.get(signIn.getJobCode()))) {
SignInExpand signInExpand = new SignInExpand();
signInExpand.setJobCode(signIn.getJobCode());
signInExpand.setMorningSignInIds(signInExpand.getMorningSignInIds() + signIn.getId() + ",");
userCurrentMap.put(signIn.getJobCode(), new ArrayList<>(Arrays.asList(signInExpand)));
} else {
userCurrentMap.get(signIn.getJobCode()).add(null);
}
}else {
userCurrentMap = afternoonUserSignInMap;
}
/**
* 存在判断 上下午只保留一条作为正式的签到结果
* 上午签到 -》 成功 | 下午签到 -》异常,成功
* 上午签到 -》 异常,异常 | 下午签到 -》 成功
*/
}
}