Commit 18a3086255dc6e73a88b1b38ba0ad4f95c50613f
1 parent
8571949915
Exists in
master
and in
6 other branches
update code
Showing 4 changed files with 319 additions and 31 deletions
- platform-dal/src/main/java/com/lyms/platform/pojo/MeasureInfoModel.java
- platform-dal/src/main/java/com/lyms/platform/query/MeasureInfoQuery.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java
- platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HttpClientUtil.java
platform-dal/src/main/java/com/lyms/platform/pojo/MeasureInfoModel.java
View file @
18a3086
1 | +package com.lyms.platform.pojo; | |
2 | + | |
3 | +import org.springframework.data.mongodb.core.mapping.Document; | |
4 | + | |
5 | +import java.util.Date; | |
6 | + | |
7 | +/** | |
8 | + * Created by Administrator on 2018-01-09. | |
9 | + * 测量血糖和脉搏、身高和体重的值 | |
10 | + */ | |
11 | +@Document(collection = "lyms_measureInfo") | |
12 | +public class MeasureInfoModel { | |
13 | + | |
14 | + private Integer id; | |
15 | + //用户姓名 | |
16 | + private String userName; | |
17 | + //证件类型 | |
18 | + private String certType; | |
19 | + //证件号 | |
20 | + private String certNo; | |
21 | + //性别 | |
22 | + private Integer sex; | |
23 | + //就诊卡号 | |
24 | + private String vcCardNo; | |
25 | + //血压/体重 | |
26 | + private String valueOne; | |
27 | + //脉搏/身高 | |
28 | + private String valueTwo; | |
29 | + //值类型: 1 身高、体重 2 血压和脉搏 | |
30 | + private Integer valueType; | |
31 | + //记录时间 | |
32 | + private Date recordTime; | |
33 | + //微信号 | |
34 | + private String wxXode; | |
35 | + //记录总次数 | |
36 | + private Integer recordCount; | |
37 | + //openId | |
38 | + private String openId; | |
39 | + //创建时间 | |
40 | + private Date created; | |
41 | + //修改时间 | |
42 | + private Date modified; | |
43 | + | |
44 | + public Integer getId() { | |
45 | + return id; | |
46 | + } | |
47 | + | |
48 | + public void setId(Integer id) { | |
49 | + this.id = id; | |
50 | + } | |
51 | + | |
52 | + public String getUserName() { | |
53 | + return userName; | |
54 | + } | |
55 | + | |
56 | + public void setUserName(String userName) { | |
57 | + this.userName = userName; | |
58 | + } | |
59 | + | |
60 | + public String getCertType() { | |
61 | + return certType; | |
62 | + } | |
63 | + | |
64 | + public void setCertType(String certType) { | |
65 | + this.certType = certType; | |
66 | + } | |
67 | + | |
68 | + public String getCertNo() { | |
69 | + return certNo; | |
70 | + } | |
71 | + | |
72 | + public void setCertNo(String certNo) { | |
73 | + this.certNo = certNo; | |
74 | + } | |
75 | + | |
76 | + public Integer getSex() { | |
77 | + return sex; | |
78 | + } | |
79 | + | |
80 | + public void setSex(Integer sex) { | |
81 | + this.sex = sex; | |
82 | + } | |
83 | + | |
84 | + public String getVcCardNo() { | |
85 | + return vcCardNo; | |
86 | + } | |
87 | + | |
88 | + public void setVcCardNo(String vcCardNo) { | |
89 | + this.vcCardNo = vcCardNo; | |
90 | + } | |
91 | + | |
92 | + public String getValueOne() { | |
93 | + return valueOne; | |
94 | + } | |
95 | + | |
96 | + public void setValueOne(String valueOne) { | |
97 | + this.valueOne = valueOne; | |
98 | + } | |
99 | + | |
100 | + public String getValueTwo() { | |
101 | + return valueTwo; | |
102 | + } | |
103 | + | |
104 | + public void setValueTwo(String valueTwo) { | |
105 | + this.valueTwo = valueTwo; | |
106 | + } | |
107 | + | |
108 | + public Integer getValueType() { | |
109 | + return valueType; | |
110 | + } | |
111 | + | |
112 | + public void setValueType(Integer valueType) { | |
113 | + this.valueType = valueType; | |
114 | + } | |
115 | + | |
116 | + public Date getRecordTime() { | |
117 | + return recordTime; | |
118 | + } | |
119 | + | |
120 | + public void setRecordTime(Date recordTime) { | |
121 | + this.recordTime = recordTime; | |
122 | + } | |
123 | + | |
124 | + public String getWxXode() { | |
125 | + return wxXode; | |
126 | + } | |
127 | + | |
128 | + public void setWxXode(String wxXode) { | |
129 | + this.wxXode = wxXode; | |
130 | + } | |
131 | + | |
132 | + public Integer getRecordCount() { | |
133 | + return recordCount; | |
134 | + } | |
135 | + | |
136 | + public void setRecordCount(Integer recordCount) { | |
137 | + this.recordCount = recordCount; | |
138 | + } | |
139 | + | |
140 | + public String getOpenId() { | |
141 | + return openId; | |
142 | + } | |
143 | + | |
144 | + public void setOpenId(String openId) { | |
145 | + this.openId = openId; | |
146 | + } | |
147 | + | |
148 | + public Date getCreated() { | |
149 | + return created; | |
150 | + } | |
151 | + | |
152 | + public void setCreated(Date created) { | |
153 | + this.created = created; | |
154 | + } | |
155 | + | |
156 | + public Date getModified() { | |
157 | + return modified; | |
158 | + } | |
159 | + | |
160 | + public void setModified(Date modified) { | |
161 | + this.modified = modified; | |
162 | + } | |
163 | +} |
platform-dal/src/main/java/com/lyms/platform/query/MeasureInfoQuery.java
View file @
18a3086
1 | +package com.lyms.platform.query; | |
2 | + | |
3 | + | |
4 | +import com.lyms.platform.common.base.IConvertToNativeQuery; | |
5 | +import com.lyms.platform.common.dao.BaseQuery; | |
6 | +import com.lyms.platform.common.dao.operator.MongoCondition; | |
7 | +import com.lyms.platform.common.dao.operator.MongoOper; | |
8 | +import com.lyms.platform.common.dao.operator.MongoQuery; | |
9 | +import org.springframework.data.mongodb.core.query.Criteria; | |
10 | + | |
11 | +import java.util.Date; | |
12 | + | |
13 | +/** | |
14 | + * Created by Administrator on 2018-01-09. | |
15 | + * 测量血糖和脉搏、身高和体重的值 | |
16 | + */ | |
17 | +public class MeasureInfoQuery extends BaseQuery implements IConvertToNativeQuery { | |
18 | + | |
19 | + private Integer id; | |
20 | + //用户姓名 | |
21 | + private String userName; | |
22 | + //证件类型 | |
23 | + private String certType; | |
24 | + //证件号 | |
25 | + private String certNo; | |
26 | + //性别 | |
27 | + private Integer sex; | |
28 | + //就诊卡号 | |
29 | + private String vcCardNo; | |
30 | + //血压/体重 | |
31 | + private String valueOne; | |
32 | + | |
33 | + //手机号码 | |
34 | + private String phone; | |
35 | + | |
36 | + //脉搏/身高 | |
37 | + private String valueTwo; | |
38 | + //值类型: 1 身高、体重 2 血压和脉搏 | |
39 | + private Integer valueType; | |
40 | + //记录时间 | |
41 | + private Date recordTimeStart; | |
42 | + private Date recordTimeEnd; | |
43 | + //微信号 | |
44 | + private String wxCode; | |
45 | + //记录总次数 | |
46 | + private Integer recordCount; | |
47 | + //openId | |
48 | + private String openId; | |
49 | + //创建时间 | |
50 | + private Date created; | |
51 | + //修改时间 | |
52 | + private Date modified; | |
53 | + | |
54 | + @Override | |
55 | + public MongoQuery convertToQuery() { | |
56 | + MongoCondition condition = MongoCondition.newInstance(); | |
57 | + if (null != id) { | |
58 | + condition = condition.and("id", id, MongoOper.IS); | |
59 | + } | |
60 | + | |
61 | + if (null != userName) { | |
62 | + condition = condition.and("userName", userName, MongoOper.IS); | |
63 | + } | |
64 | + | |
65 | + if (null != certType) { | |
66 | + condition = condition.and("certType", certType, MongoOper.IS); | |
67 | + } | |
68 | + | |
69 | + if (null != certNo) { | |
70 | + condition = condition.and("certNo", certNo, MongoOper.IS); | |
71 | + } | |
72 | + | |
73 | + | |
74 | + if (null != sex) { | |
75 | + condition = condition.and("sex", sex, MongoOper.IS); | |
76 | + } | |
77 | + | |
78 | + | |
79 | + if (null != vcCardNo) { | |
80 | + condition = condition.and("vcCardNo", vcCardNo, MongoOper.IS); | |
81 | + } | |
82 | + | |
83 | + if (null != valueType) { | |
84 | + condition = condition.and("valueType", valueType, MongoOper.IS); | |
85 | + } | |
86 | + | |
87 | + | |
88 | + if (null != wxCode) { | |
89 | + condition = condition.and("wxCode", wxCode, MongoOper.IS); | |
90 | + } | |
91 | + | |
92 | + if (null != phone) { | |
93 | + condition = condition.and("phone", phone, MongoOper.IS); | |
94 | + } | |
95 | + | |
96 | + | |
97 | + | |
98 | + Criteria c1 = null; | |
99 | + if (null != recordTimeStart) { | |
100 | + if (null != c1) { | |
101 | + c1 = c1.and("recordTime").gte(recordTimeStart); | |
102 | + } else { | |
103 | + c1 = Criteria.where("recordTime").gte(recordTimeStart); | |
104 | + } | |
105 | + } | |
106 | + if (null != recordTimeEnd) { | |
107 | + if (c1 != null) { | |
108 | + c1 = c1.lte(recordTimeEnd); | |
109 | + } else { | |
110 | + c1 = Criteria.where("recordTime").lte(recordTimeEnd); | |
111 | + } | |
112 | + } | |
113 | + | |
114 | + if (null != c1) { | |
115 | + condition = condition.andCondition(new MongoCondition(c1)); | |
116 | + } | |
117 | + return condition.toMongoQuery(); | |
118 | + } | |
119 | + | |
120 | + | |
121 | + | |
122 | + public Integer getId() { | |
123 | + return id; | |
124 | + } | |
125 | + | |
126 | + public void setId(Integer id) { | |
127 | + this.id = id; | |
128 | + } | |
129 | + | |
130 | + | |
131 | +} |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/SyncDataTaskService.java
View file @
18a3086
... | ... | @@ -138,35 +138,21 @@ |
138 | 138 | { |
139 | 139 | List<SyncDataModel> list = JsonUtil.toList(json, SyncDataModel.class); |
140 | 140 | System.out.println(DateUtil.getyyyy_MM_dd_hms(new Date())+url+" ; syncdata size = "+ list.size()); |
141 | - int batchSize = 200; | |
142 | - int end = 0; | |
143 | - for (int i = 0; i < list.size(); i += batchSize) { | |
144 | - end = (end + batchSize); | |
145 | - if (end > list.size()) { | |
146 | - end = list.size(); | |
147 | - } | |
148 | - final List<SyncDataModel> tempList = list.subList(i, end); | |
149 | - commonThreadPool.execute(new Runnable() { | |
150 | - @Override | |
151 | - public void run() { | |
152 | - if (CollectionUtils.isNotEmpty(tempList)) | |
153 | - { | |
154 | - StringBuffer ids = new StringBuffer(); | |
155 | - for (SyncDataModel model : tempList) { | |
156 | - boolean boo = mongoSyncService.syncData(model.getAction(), model.getDataId(), model.getClassName(), model.getJsonData()); | |
157 | - if (boo) { | |
158 | - ids.append(model.getId()); | |
159 | - ids.append(","); | |
160 | - } | |
161 | - } | |
162 | - if (ids.length() > 0) { | |
163 | - Map<String,String> params = new HashMap<String, String>(); | |
164 | - params.put("ids", ids.toString()); | |
165 | - excePost("https://" + url + "/updateSyncData", params); | |
166 | - } | |
167 | - } | |
141 | + if (CollectionUtils.isNotEmpty(list)) | |
142 | + { | |
143 | + StringBuffer ids = new StringBuffer(); | |
144 | + for (SyncDataModel model : list) { | |
145 | + boolean boo = mongoSyncService.syncData(model.getAction(), model.getDataId(), model.getClassName(), model.getJsonData()); | |
146 | + if (boo) { | |
147 | + ids.append(model.getId()); | |
148 | + ids.append(","); | |
168 | 149 | } |
169 | - }); | |
150 | + } | |
151 | + if (ids.length() > 0) { | |
152 | + Map<String,String> params = new HashMap<String, String>(); | |
153 | + params.put("ids", ids.toString()); | |
154 | + excePost("https://" + url + "/updateSyncData", params); | |
155 | + } | |
170 | 156 | } |
171 | 157 | } |
172 | 158 | }catch(Exception ex){ |
... | ... | @@ -176,7 +162,7 @@ |
176 | 162 | } |
177 | 163 | |
178 | 164 | |
179 | - private synchronized String excePost(String url,Map<String,String> param) | |
165 | + private String excePost(String url,Map<String,String> param) | |
180 | 166 | { |
181 | 167 | String json = HttpClientUtil.doPost(url, param, "utf-8"); |
182 | 168 | return json; |
platform-operate-api/src/main/java/com/lyms/platform/operate/web/utils/HttpClientUtil.java
View file @
18a3086
... | ... | @@ -59,6 +59,7 @@ |
59 | 59 | HttpClient httpClient = null; |
60 | 60 | HttpPost httpPost = null; |
61 | 61 | String result = null; |
62 | + HttpResponse response = null; | |
62 | 63 | try{ |
63 | 64 | httpClient = new SSLClient(); |
64 | 65 | |
... | ... | @@ -75,7 +76,7 @@ |
75 | 76 | UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,charset); |
76 | 77 | httpPost.setEntity(entity); |
77 | 78 | } |
78 | - HttpResponse response = httpClient.execute(httpPost); | |
79 | + response = httpClient.execute(httpPost); | |
79 | 80 | if(response != null){ |
80 | 81 | HttpEntity resEntity = response.getEntity(); |
81 | 82 | if(resEntity != null){ |
82 | 83 | |
... | ... | @@ -87,9 +88,16 @@ |
87 | 88 | return null; |
88 | 89 | } |
89 | 90 | finally { |
91 | + if (response != null) { | |
92 | + try { | |
93 | + EntityUtils.consume(response.getEntity()); | |
94 | + } catch (IOException e) { | |
95 | + e.printStackTrace(); | |
96 | + } | |
97 | + } | |
90 | 98 | if (httpPost != null) |
91 | 99 | { |
92 | - httpPost.reset(); | |
100 | + httpPost.releaseConnection(); | |
93 | 101 | } |
94 | 102 | |
95 | 103 | } |