DSMServiceImpl.java
2.54 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
package com.bsth.service.dsm.impl;
import com.alibaba.fastjson.JSON;
import com.bsth.service.dsm.DSMService;
import com.bsth.util.HttpClientUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.*;
@Service
public class DSMServiceImpl implements DSMService {
Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
JdbcTemplate jdbcTemplate;
@Value("${dsm.url}")
private String url;
private static DateTimeFormatter dtf=DateTimeFormatter.ofPattern("yyyy-MM-dd");
@Override
public Map<String, Object> query(Map<String, Object> map) {
Map<String, Object> modelMap = new HashMap<>();
try {
String dateS = LocalDate.now().format(dtf);
String dateE = LocalDate.now().plusDays(1).format(dtf);
if(map.get("date")!=null){
dateS=map.get("date").toString();
dateE=LocalDate.parse(map.get("date").toString(),dtf).plusDays(1).format(dtf);
}
StringBuilder sb= HttpClientUtils.get(url+"?startime="+dateS+"&endtime="+dateE);
List<Map> query = JSON.parseArray(sb.toString(),Map.class);
Iterator it = query.iterator();
while (it.hasNext()) {
Map m = (Map) it.next();
if(map.get("line")!=null && !map.get("line").equals("") && !map.get("line").equals(m.get("lineid").toString())){
it.remove();
}
else if(map.get("nbbm_like")!=null && !map.get("nbbm_like").equals("") && !m.get("nbbm").toString().contains(map.get("nbbm_like").toString())){
it.remove();
}
}
Integer page = Integer.valueOf(map.containsKey("page")?map.get("page").toString():"0");
int end = (page+1)*10>query.size()?query.size():(page+1)*10;
List<Map> result=query.subList(page*10, end);
modelMap.put("dataList", result);
modelMap.put("totalPages", query.size()%10>0?query.size()/10+1:query.size()/10);
modelMap.put("code","00");
return modelMap;
} catch (Exception e) {
logger.error("DSM查询异常", e);
modelMap.put("code","502");
return modelMap;
}
}
}