Skip to content

Commit 461b641

Browse files
committed
并发工具
1 parent ec31d5b commit 461b641

26 files changed

+682
-5
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package code.biz.bcp;
2+
3+
import org.springframework.util.Assert;
4+
5+
import java.util.HashMap;
6+
import java.util.Map;
7+
8+
/**
9+
* 〈一句话功能简述〉<p>
10+
* 〈功能详细描述〉
11+
*
12+
* @author zixiao
13+
* @date 2019/9/3
14+
*/
15+
public class BcpExecutor {
16+
17+
private DataSeeker seeker = new TestDataSeeker();
18+
19+
private Checker checker = new TestChecker();
20+
21+
public boolean execute(Map<String, Object> left){
22+
Map<String, Object> right = seeker.seek(left);
23+
return checker.check(left, right);
24+
}
25+
26+
public static void main(String[] args) {
27+
BcpExecutor bcpExecutor = new BcpExecutor();
28+
Map<String, Object> map = new HashMap<>();
29+
map.put("loanId", -1L);
30+
31+
Assert.isTrue(bcpExecutor.execute(map), "对账不平");
32+
}
33+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package code.biz.bcp;
2+
3+
import java.util.Map;
4+
5+
/**
6+
* 〈一句话功能简述〉<p>
7+
* 〈功能详细描述〉
8+
*
9+
* @author zixiao
10+
* @date 2019/9/3
11+
*/
12+
public interface Checker {
13+
14+
boolean check(Map<String, Object> left, Map<String, Object> right);
15+
16+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package code.biz.bcp;
2+
3+
import java.util.Map;
4+
5+
/**
6+
* 〈一句话功能简述〉<p>
7+
* 〈功能详细描述〉
8+
*
9+
* @author zixiao
10+
* @date 2019/9/3
11+
*/
12+
public interface DataSeeker {
13+
14+
Map<String,Object> seek(Map<String,Object> left);
15+
16+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package code.biz.bcp;
2+
3+
/**
4+
* 〈一句话功能简述〉<p>
5+
* 〈功能详细描述〉
6+
*
7+
* @author zixiao
8+
* @date 2019/9/4
9+
*/
10+
public class Event {
11+
12+
13+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package code.biz.bcp;
2+
3+
import java.util.Map;
4+
5+
/**
6+
* 〈一句话功能简述〉<p>
7+
* 〈功能详细描述〉
8+
*
9+
* @author zixiao
10+
* @date 2019/9/3
11+
*/
12+
public interface Extractor {
13+
14+
Map<String, Object> extract(Map<String, Object> param);
15+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package code.biz.bcp;
2+
3+
import java.util.Map;
4+
5+
/**
6+
* 〈一句话功能简述〉<p>
7+
* 〈功能详细描述〉
8+
*
9+
* @author zixiao
10+
* @date 2019/9/3
11+
*/
12+
public class TestChecker implements Checker {
13+
14+
@Override
15+
public boolean check(Map<String, Object> left, Map<String, Object> right) {
16+
if(right == null){
17+
return false;
18+
}
19+
return true;
20+
}
21+
22+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package code.biz.bcp;
2+
3+
import java.util.Map;
4+
5+
/**
6+
* 〈一句话功能简述〉<p>
7+
* 〈功能详细描述〉
8+
*
9+
* @author zixiao
10+
* @date 2019/9/3
11+
*/
12+
public class TestDataSeeker implements DataSeeker {
13+
14+
private Extractor extractor = new TestExtractor();
15+
16+
private Transformer transformer = new TestTransformer();
17+
18+
@Override
19+
public Map<String, Object> seek(Map<String, Object> left) {
20+
return transformer.transform(extractor.extract(left));
21+
}
22+
23+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package code.biz.bcp;
2+
3+
/**
4+
* 〈一句话功能简述〉<p>
5+
* 〈功能详细描述〉
6+
*
7+
* @author zixiao
8+
* @date 2019/9/4
9+
*/
10+
public class TestEnv {
11+
12+
public static void main(String[] args) {
13+
System.out.println("SYS_TTT:"+System.getenv("SYS_TTT"));
14+
System.getenv().forEach((key, value)->{
15+
System.out.println(key+" => "+value);
16+
});
17+
}
18+
19+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package code.biz.bcp;
2+
3+
import java.util.HashMap;
4+
import java.util.Map;
5+
6+
/**
7+
* 〈一句话功能简述〉<p>
8+
* 〈功能详细描述〉
9+
*
10+
* @author zixiao
11+
* @date 2019/9/3
12+
*/
13+
public class TestExtractor implements Extractor {
14+
15+
@Override
16+
public Map<String, Object> extract(Map<String, Object> param) {
17+
if((Long)param.get("loanId") < 0){
18+
return null;
19+
}
20+
Map<String, Object> map = new HashMap<>();
21+
map.put("loanId", param.get("loanId"));
22+
return map;
23+
}
24+
25+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package code.biz.bcp;
2+
3+
import java.util.Map;
4+
5+
/**
6+
* 〈一句话功能简述〉<p>
7+
* 〈功能详细描述〉
8+
*
9+
* @author zixiao
10+
* @date 2019/9/3
11+
*/
12+
public class TestTransformer implements Transformer{
13+
14+
@Override
15+
public Map<String, Object> transform(Map<String, Object> source) {
16+
if(source == null){
17+
return null;
18+
}
19+
source.put("tag", "1");
20+
return source;
21+
}
22+
}

0 commit comments

Comments
 (0)