Commit 605a62a011ee216e6cbf58d99f5b379e8219882a
1 parent
d1551e02
Exists in
master
翼学云 通讯录同步
Showing
4 changed files
with
700 additions
and
14 deletions
Show diff stats
cloud/common/src/main/java/com/sincere/common/dto/smartCampus/SyncUserDto.java
... | ... | @@ -15,6 +15,15 @@ public class SyncUserDto { |
15 | 15 | private int sex ; |
16 | 16 | private String mobile ; |
17 | 17 | private int updateType ; |
18 | + private String hxyCustomerId ; | |
19 | + | |
20 | + public String getHxyCustomerId() { | |
21 | + return hxyCustomerId; | |
22 | + } | |
23 | + | |
24 | + public void setHxyCustomerId(String hxyCustomerId) { | |
25 | + this.hxyCustomerId = hxyCustomerId; | |
26 | + } | |
18 | 27 | |
19 | 28 | public int getId() { |
20 | 29 | return id; | ... | ... |
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYResultDetail.java
... | ... | @@ -10,8 +10,46 @@ import java.io.Serializable; |
10 | 10 | public class YXYResultDetail implements Serializable { |
11 | 11 | |
12 | 12 | private String id ; |
13 | + private String schoolid ; | |
13 | 14 | private String name ; |
14 | 15 | private String err ; |
16 | + private String classname ; | |
17 | + private String gradeid ; | |
18 | + private String classid ; | |
19 | + private String userid ; | |
20 | + private String stuname ; | |
21 | + | |
22 | + public String getSchoolid() { | |
23 | + return schoolid; | |
24 | + } | |
25 | + | |
26 | + public void setSchoolid(String schoolid) { | |
27 | + this.schoolid = schoolid; | |
28 | + } | |
29 | + | |
30 | + public String getClassname() { | |
31 | + return classname; | |
32 | + } | |
33 | + | |
34 | + public void setClassname(String classname) { | |
35 | + this.classname = classname; | |
36 | + } | |
37 | + | |
38 | + public String getGradeid() { | |
39 | + return gradeid; | |
40 | + } | |
41 | + | |
42 | + public void setGradeid(String gradeid) { | |
43 | + this.gradeid = gradeid; | |
44 | + } | |
45 | + | |
46 | + public String getClassid() { | |
47 | + return classid; | |
48 | + } | |
49 | + | |
50 | + public void setClassid(String classid) { | |
51 | + this.classid = classid; | |
52 | + } | |
15 | 53 | |
16 | 54 | public String getId() { |
17 | 55 | return id; |
... | ... | @@ -36,4 +74,20 @@ public class YXYResultDetail implements Serializable { |
36 | 74 | public void setErr(String err) { |
37 | 75 | this.err = err; |
38 | 76 | } |
77 | + | |
78 | + public String getUserid() { | |
79 | + return userid; | |
80 | + } | |
81 | + | |
82 | + public void setUserid(String userid) { | |
83 | + this.userid = userid; | |
84 | + } | |
85 | + | |
86 | + public String getStuname() { | |
87 | + return stuname; | |
88 | + } | |
89 | + | |
90 | + public void setStuname(String stuname) { | |
91 | + this.stuname = stuname; | |
92 | + } | |
39 | 93 | } | ... | ... |
cloud/quartz/src/main/java/com/sincere/quartz/third/yixueyun/YXYWriteService.java
1 | 1 | package com.sincere.quartz.third.yixueyun; |
2 | 2 | |
3 | 3 | import com.alibaba.fastjson.JSON; |
4 | +import com.alibaba.fastjson.JSONArray; | |
4 | 5 | import com.alibaba.fastjson.JSONObject; |
6 | +import com.sincere.common.dto.smartCampus.*; | |
5 | 7 | import com.sincere.common.util.HttpClientUtils; |
6 | 8 | import com.sincere.quartz.feign.ScFeign; |
9 | +import org.apache.commons.lang3.StringUtils; | |
7 | 10 | import org.springframework.beans.factory.annotation.Autowired; |
8 | 11 | import org.springframework.stereotype.Service; |
9 | 12 | |
13 | +import java.util.ArrayList; | |
14 | +import java.util.List; | |
15 | + | |
10 | 16 | /** |
11 | 17 | * @author chen |
12 | 18 | * @version 1.0 |
... | ... | @@ -21,6 +27,7 @@ public class YXYWriteService { |
21 | 27 | private static String prefix_url = "http://115.239.135.60"; |
22 | 28 | |
23 | 29 | private static String suffix_org_add = "/szkjapi/toyxybatch/addTeacherOrg" ; //部门添加 |
30 | + private static String suffix_grade_add = "/szkjapi/toyxybatch/addGrade" ; //部门添加 | |
24 | 31 | private static String suffix_class_add = "/szkjapi/toyxybatch/addClass" ; //班级添加 |
25 | 32 | private static String suffix_student_add = "/szkjapi/toyxybatch/addStudent" ; //学生添加 |
26 | 33 | private static String suffix_teacher_add = "/szkjapi/toyxybatch/addTeacher" ; //老师添加 |
... | ... | @@ -32,37 +39,651 @@ public class YXYWriteService { |
32 | 39 | private static String suffix_org_delete = "/szkjapi/toyxybatch/deleteOrg" ; //部门 班级 删除 |
33 | 40 | private static String suffix_user_delete = "/szkjapi/toyxybatch/deleteUser" ; //老师学生 删除 |
34 | 41 | |
42 | + private static String suffix_subject_add = "/szkjapi/toyxybatch/addSubject" ; | |
43 | + | |
35 | 44 | |
36 | 45 | @Autowired |
37 | 46 | ScFeign scFeign ; |
38 | 47 | |
39 | 48 | public void sync(){ |
40 | 49 | //查出要同步的学校 |
50 | + List<SyncSchoolDto> schoolList = scFeign.selectSyncSchool(); | |
51 | + for(SyncSchoolDto school : schoolList){ | |
52 | + if(school.getPush() == 0){ | |
53 | + //同步课程 | |
54 | + syncSubject(school); | |
55 | + } | |
56 | + List<SyncDeptDto> deptList = scFeign.selectDept(school.getSchoolId()); | |
57 | + syncDept(school,deptList); | |
58 | + List<SyncUserDto> userList = scFeign.selectUser(school.getSchoolId()); | |
59 | + syncUser(school,userList); | |
60 | + } | |
61 | + } | |
62 | + | |
63 | + private void syncUser(SyncSchoolDto school , List<SyncUserDto> userList){ | |
64 | + List<SyncUserDto> addStudentList = new ArrayList<>(); | |
65 | + List<SyncUserDto> updateStudentList = new ArrayList<>(); | |
66 | + List<SyncUserDto> deleteStudentList = new ArrayList<>(); | |
67 | + | |
68 | + List<SyncUserDto> addTeacherList = new ArrayList<>(); | |
69 | + List<SyncUserDto> updateTeacherList = new ArrayList<>(); | |
70 | + List<SyncUserDto> deleteTeacherList = new ArrayList<>(); | |
71 | + | |
72 | + for(SyncUserDto user : userList){ | |
73 | + if(user.getUserType() == 1){ //老师 | |
74 | + if(user.getUpdateType() == 1){ | |
75 | + addStudentList.add(user); | |
76 | + }else if(user.getUpdateType() == 3){ | |
77 | + updateStudentList.add(user); | |
78 | + }else if(user.getUpdateType() == 5){ | |
79 | + deleteStudentList.add(user); | |
80 | + } | |
81 | + }else if(user.getUserType() == 2){ //学生 | |
82 | + if(user.getUpdateType() == 1){ | |
83 | + addTeacherList.add(user); | |
84 | + }else if(user.getUpdateType() == 3){ | |
85 | + updateTeacherList.add(user); | |
86 | + }else if(user.getUpdateType() == 5){ | |
87 | + deleteTeacherList.add(user); | |
88 | + } | |
89 | + } | |
90 | + } | |
91 | + syncStudentHxy(school,addStudentList,updateStudentList,deleteStudentList); | |
92 | + syncTeacherHxy(school,addTeacherList,updateTeacherList,deleteTeacherList); | |
93 | + | |
94 | + } | |
95 | + | |
96 | + private void syncSubject(SyncSchoolDto school){ | |
97 | + List<String> subjectList = scFeign.selectSubject(school.getSchoolId()); | |
98 | + JSONArray array = new JSONArray(); | |
99 | + JSONObject object = new JSONObject(); | |
100 | + object.put("schoolid",school.getYxtId()); | |
101 | + StringBuffer subjects = new StringBuffer(); | |
102 | + for(String subject : subjectList){ | |
103 | + subjects.append(subject).append(","); | |
104 | + } | |
105 | + object.put("subjects",subjects.toString().substring(0,subjects.toString().length()-1)); | |
106 | + array.add(object); | |
107 | + YXYResult result = getResult(prefix_url+suffix_subject_add,array.toJSONString()) ; | |
108 | + scFeign.updateSchool(school.getSchoolId()); | |
109 | + } | |
110 | + | |
111 | + private void syncDept(SyncSchoolDto school , List<SyncDeptDto> deptList){ | |
112 | + List<SyncDeptDto> addDept = new ArrayList<>(); | |
113 | + List<SyncDeptDto> updateDept = new ArrayList<>(); | |
114 | + List<SyncDeptDto> deleteDept = new ArrayList<>(); | |
115 | + | |
116 | + List<SyncDeptDto> addGrade = new ArrayList<>(); | |
117 | + List<SyncDeptDto> updateGrade = new ArrayList<>(); | |
118 | + List<SyncDeptDto> deleteGrade = new ArrayList<>(); | |
119 | + | |
120 | + List<SyncDeptDto> addClass = new ArrayList<>(); | |
121 | + List<SyncDeptDto> updateClass = new ArrayList<>(); | |
122 | + List<SyncDeptDto> deleteClass = new ArrayList<>(); | |
123 | + for(SyncDeptDto dept : deptList){ | |
124 | + if(dept.getUserType() == 1){ //组织架构 | |
125 | + if(dept.getUpdateType() == 1){ //增 | |
126 | + addDept.add(dept); | |
127 | + }else if(dept.getUpdateType() == 2){ //改 | |
128 | + updateDept.add(dept); | |
129 | + }else { //删 | |
130 | + deleteDept.add(dept); | |
131 | + } | |
132 | + } | |
133 | + if(dept.getUserType() == 2){ //年级 | |
134 | + if(dept.getUpdateType() == 1){ //增 | |
135 | + addGrade.add(dept); | |
136 | + }else if(dept.getUpdateType() == 2){ //改 | |
137 | + updateGrade.add(dept); | |
138 | + }else { //删 | |
139 | + deleteGrade.add(dept); | |
140 | + } | |
141 | + } | |
142 | + if(dept.getUserType() == 3){ //班级 | |
143 | + if(dept.getUpdateType() == 1){ //增 | |
144 | + addClass.add(dept); | |
145 | + }else if(dept.getUpdateType() == 2){ //改 | |
146 | + updateClass.add(dept); | |
147 | + }else { //删 | |
148 | + deleteClass.add(dept); | |
149 | + } | |
150 | + } | |
151 | + } | |
152 | + syncGroupHxy(school,addDept,updateDept,deleteDept); | |
153 | + syncGradeHxy(school,addGrade,updateGrade,deleteGrade); | |
154 | + syncClassHxy(school,addClass,updateClass,deleteClass); | |
155 | + } | |
156 | + | |
157 | + private void syncGroupHxy(SyncSchoolDto school , List<SyncDeptDto> addDept , List<SyncDeptDto> updateDept ,List<SyncDeptDto> deleteDept ){ | |
158 | + if(addDept.size() > 0){ | |
159 | + JSONArray array = initAddJson(addDept,school.getYxtId()); | |
160 | + YXYResult result = getResult(prefix_url+suffix_org_add,array.toJSONString()); | |
161 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
162 | + for(YXYResultDetail detail : result.getData()){ | |
163 | + if(StringUtils.isNotBlank(detail.getId())){ | |
164 | + //成功 | |
165 | + DeptRelationDto deptRelationDto = new DeptRelationDto(); | |
166 | + SyncDeptDto syncDeptDto = getDept(addDept,detail.getName()) ; | |
167 | + deptRelationDto.setHxyDeptId(syncDeptDto.getDeptId()); | |
168 | + deptRelationDto.setYxyDeptId(detail.getId()); | |
169 | + deptRelationDto.setSqlStatus(1); | |
170 | + deptRelationDto.setUserType(1); | |
171 | + deptRelationDto.setState(1); | |
172 | + scFeign.updateDeptRelation(deptRelationDto); | |
173 | + scFeign.updateDept(syncDeptDto.getId()); | |
174 | + }else { | |
175 | + | |
176 | + } | |
177 | + } | |
178 | + }else { | |
179 | + System.out.println(result.getMessage()); | |
180 | + } | |
181 | + } | |
182 | + if(updateDept.size() > 0){ | |
183 | + JSONArray array = initUpdateJson(updateDept); | |
184 | + YXYResult result = getResult(prefix_url+suffix_org_update,array.toJSONString()); | |
185 | + List<String> errorList = new ArrayList<>(); | |
186 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
187 | + for(YXYResultDetail detail : result.getData()){ | |
188 | + if(StringUtils.isNotBlank(detail.getId())){ | |
189 | + errorList.add(detail.getName()); | |
190 | + System.out.println(detail.getName() + "----" + detail.getErr()); | |
191 | + } | |
192 | + } | |
193 | + }else { | |
194 | + System.out.println(result.getMessage()); | |
195 | + } | |
196 | + for(SyncDeptDto deptDto : updateDept){ | |
197 | + if(!errorList.contains(deptDto.getDeptName())){ | |
198 | + DeptRelationDto deptRelationDto = new DeptRelationDto(); | |
199 | + deptRelationDto.setHxyDeptId(deptDto.getDeptId()); | |
200 | + deptRelationDto.setSqlStatus(2); | |
201 | + deptRelationDto.setUserType(1); | |
202 | + deptRelationDto.setState(1); | |
203 | + scFeign.updateDeptRelation(deptRelationDto); | |
204 | + scFeign.updateDept(deptDto.getId()); | |
205 | + } | |
206 | + } | |
207 | + } | |
208 | + if(deleteDept.size() > 0){ | |
209 | + JSONArray array = initDeleteJson(deleteDept); | |
210 | + YXYResult result = getResult(prefix_url+suffix_org_delete,array.toJSONString()); | |
211 | + List<String> errorList = new ArrayList<>(); | |
212 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
213 | + for(YXYResultDetail detail : result.getData()){ | |
214 | + if(StringUtils.isNotBlank(detail.getId())){ | |
215 | + errorList.add(detail.getName()); | |
216 | + System.out.println(detail.getName() + "----" + detail.getErr()); | |
217 | + } | |
218 | + } | |
219 | + }else { | |
220 | + System.out.println(result.getMessage()); | |
221 | + } | |
222 | + for(SyncDeptDto deptDto : updateDept){ | |
223 | + if(!errorList.contains(deptDto.getDeptName())){ | |
224 | + DeptRelationDto deptRelationDto = new DeptRelationDto(); | |
225 | + deptRelationDto.setHxyDeptId(deptDto.getDeptId()); | |
226 | + deptRelationDto.setSqlStatus(2); | |
227 | + deptRelationDto.setUserType(1); | |
228 | + deptRelationDto.setState(0); | |
229 | + scFeign.updateDeptRelation(deptRelationDto); | |
230 | + scFeign.updateDept(deptDto.getId()); | |
231 | + } | |
232 | + } | |
233 | + } | |
234 | + } | |
235 | + | |
236 | + private void syncGradeHxy(SyncSchoolDto school , List<SyncDeptDto> addGrade , List<SyncDeptDto> updateGrade ,List<SyncDeptDto> deleteGrade ){ | |
237 | + if(addGrade.size() > 0){ | |
238 | + JSONArray array = initAddJson(addGrade,school.getYxtId()); | |
239 | + YXYResult result = getResult(prefix_url+suffix_grade_add,array.toJSONString()); | |
240 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
241 | + for(YXYResultDetail detail : result.getData()){ | |
242 | + if(StringUtils.isNotBlank(detail.getId())){ | |
243 | + //成功 | |
244 | + DeptRelationDto deptRelationDto = new DeptRelationDto(); | |
245 | + SyncDeptDto syncDeptDto = getDept(addGrade,detail.getName()) ; | |
246 | + deptRelationDto.setHxyDeptId(syncDeptDto.getDeptId()); | |
247 | + deptRelationDto.setYxyDeptId(detail.getId()); | |
248 | + deptRelationDto.setSqlStatus(1); | |
249 | + deptRelationDto.setUserType(2); | |
250 | + deptRelationDto.setState(1); | |
251 | + scFeign.updateDeptRelation(deptRelationDto); | |
252 | + scFeign.updateDept(syncDeptDto.getId()); | |
253 | + }else { | |
254 | + | |
255 | + } | |
256 | + } | |
257 | + }else { | |
258 | + System.out.println(result.getMessage()); | |
259 | + } | |
260 | + } | |
261 | + if(updateGrade.size() > 0){ | |
262 | + JSONArray array = initUpdateJson(updateGrade); | |
263 | + YXYResult result = getResult(prefix_url+suffix_org_update,array.toJSONString()); | |
264 | + List<String> errorList = new ArrayList<>(); | |
265 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
266 | + for(YXYResultDetail detail : result.getData()){ | |
267 | + if(StringUtils.isNotBlank(detail.getId())){ | |
268 | + errorList.add(detail.getName()); | |
269 | + System.out.println(detail.getName() + "----" + detail.getErr()); | |
270 | + } | |
271 | + } | |
272 | + }else { | |
273 | + System.out.println(result.getMessage()); | |
274 | + } | |
275 | + for(SyncDeptDto deptDto : updateGrade){ | |
276 | + if(!errorList.contains(deptDto.getDeptName())){ | |
277 | + DeptRelationDto deptRelationDto = new DeptRelationDto(); | |
278 | + deptRelationDto.setHxyDeptId(deptDto.getDeptId()); | |
279 | + deptRelationDto.setSqlStatus(2); | |
280 | + deptRelationDto.setUserType(2); | |
281 | + deptRelationDto.setState(1); | |
282 | + scFeign.updateDeptRelation(deptRelationDto); | |
283 | + scFeign.updateDept(deptDto.getId()); | |
284 | + } | |
285 | + } | |
286 | + } | |
287 | + if(deleteGrade.size() > 0){ | |
288 | + JSONArray array = initDeleteJson(deleteGrade); | |
289 | + YXYResult result = getResult(prefix_url+suffix_org_delete,array.toJSONString()); | |
290 | + List<String> errorList = new ArrayList<>(); | |
291 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
292 | + for(YXYResultDetail detail : result.getData()){ | |
293 | + if(StringUtils.isNotBlank(detail.getId())){ | |
294 | + errorList.add(detail.getName()); | |
295 | + System.out.println(detail.getName() + "----" + detail.getErr()); | |
296 | + } | |
297 | + } | |
298 | + }else { | |
299 | + System.out.println(result.getMessage()); | |
300 | + } | |
301 | + for(SyncDeptDto deptDto : deleteGrade){ | |
302 | + if(!errorList.contains(deptDto.getDeptName())){ | |
303 | + DeptRelationDto deptRelationDto = new DeptRelationDto(); | |
304 | + deptRelationDto.setHxyDeptId(deptDto.getDeptId()); | |
305 | + deptRelationDto.setSqlStatus(2); | |
306 | + deptRelationDto.setUserType(2); | |
307 | + deptRelationDto.setState(0); | |
308 | + scFeign.updateDeptRelation(deptRelationDto); | |
309 | + scFeign.updateDept(deptDto.getId()); | |
310 | + } | |
311 | + } | |
312 | + } | |
313 | + } | |
314 | + | |
315 | + private void syncClassHxy(SyncSchoolDto school , List<SyncDeptDto> addClass , List<SyncDeptDto> updateClass ,List<SyncDeptDto> deleteClass ){ | |
316 | + if(addClass.size() > 0){ | |
317 | + JSONArray array = initClassAddJson(addClass); | |
318 | + YXYResult result = getResult(prefix_url+suffix_class_add,array.toJSONString()); | |
319 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
320 | + for(YXYResultDetail detail : result.getData()){ | |
321 | + if(StringUtils.isNotBlank(detail.getClassid())){ | |
322 | + //成功 | |
323 | + DeptRelationDto deptRelationDto = new DeptRelationDto(); | |
324 | + SyncDeptDto syncDeptDto = getDept(addClass,detail.getClassname()) ; | |
325 | + deptRelationDto.setHxyDeptId(syncDeptDto.getDeptId()); | |
326 | + deptRelationDto.setYxyDeptId(detail.getClassid()); | |
327 | + deptRelationDto.setSqlStatus(1); | |
328 | + deptRelationDto.setUserType(3); | |
329 | + deptRelationDto.setState(1); | |
330 | + scFeign.updateDeptRelation(deptRelationDto); | |
331 | + scFeign.updateDept(syncDeptDto.getId()); | |
332 | + }else { | |
333 | + | |
334 | + } | |
335 | + } | |
336 | + }else { | |
337 | + System.out.println(result.getMessage()); | |
338 | + } | |
339 | + } | |
340 | + if(updateClass.size() > 0){ | |
341 | + JSONArray array = initUpdateJson(updateClass); | |
342 | + YXYResult result = getResult(prefix_url+suffix_org_update,array.toJSONString()); | |
343 | + List<String> errorList = new ArrayList<>(); | |
344 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
345 | + for(YXYResultDetail detail : result.getData()){ | |
346 | + if(StringUtils.isNotBlank(detail.getId())){ | |
347 | + errorList.add(detail.getName()); | |
348 | + System.out.println(detail.getName() + "----" + detail.getErr()); | |
349 | + } | |
350 | + } | |
351 | + }else { | |
352 | + System.out.println(result.getMessage()); | |
353 | + } | |
354 | + for(SyncDeptDto deptDto : updateClass){ | |
355 | + if(!errorList.contains(deptDto.getDeptName())){ | |
356 | + DeptRelationDto deptRelationDto = new DeptRelationDto(); | |
357 | + deptRelationDto.setHxyDeptId(deptDto.getDeptId()); | |
358 | + deptRelationDto.setSqlStatus(2); | |
359 | + deptRelationDto.setUserType(3); | |
360 | + deptRelationDto.setState(1); | |
361 | + scFeign.updateDeptRelation(deptRelationDto); | |
362 | + scFeign.updateDept(deptDto.getId()); | |
363 | + } | |
364 | + } | |
365 | + } | |
366 | + if(deleteClass.size() > 0){ | |
367 | + JSONArray array = initDeleteJson(deleteClass); | |
368 | + YXYResult result = getResult(prefix_url+suffix_org_delete,array.toJSONString()); | |
369 | + List<String> errorList = new ArrayList<>(); | |
370 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
371 | + for(YXYResultDetail detail : result.getData()){ | |
372 | + if(StringUtils.isNotBlank(detail.getId())){ | |
373 | + errorList.add(detail.getName()); | |
374 | + System.out.println(detail.getName() + "----" + detail.getErr()); | |
375 | + } | |
376 | + } | |
377 | + }else { | |
378 | + System.out.println(result.getMessage()); | |
379 | + } | |
380 | + for(SyncDeptDto deptDto : deleteClass){ | |
381 | + if(!errorList.contains(deptDto.getDeptName())){ | |
382 | + DeptRelationDto deptRelationDto = new DeptRelationDto(); | |
383 | + deptRelationDto.setHxyDeptId(deptDto.getDeptId()); | |
384 | + deptRelationDto.setSqlStatus(2); | |
385 | + deptRelationDto.setUserType(3); | |
386 | + deptRelationDto.setState(0); | |
387 | + scFeign.updateDeptRelation(deptRelationDto); | |
388 | + scFeign.updateDept(deptDto.getId()); | |
389 | + } | |
390 | + } | |
391 | + } | |
392 | + } | |
393 | + | |
41 | 394 | |
42 | - //同步的部门 ,新增 修改 删除 | |
43 | - syncDept(); | |
44 | - //同步的老师 | |
45 | - syncTeacher(); | |
46 | - //同步的学生 | |
47 | - syncStudent(); | |
48 | - //同步的班级 | |
49 | - syncClass(); | |
395 | + private JSONArray initAddJson(List<SyncUserDto> list){ | |
396 | + JSONArray array = new JSONArray(); | |
397 | + for(SyncUserDto user : list){ | |
398 | + JSONObject object = new JSONObject(); | |
399 | + object.put("classid",scFeign.selectYxyIdByHxyId(user.getClassId())); | |
400 | + object.put("stuname",user.getName()); | |
401 | + object.put("mobile",user.getMobile()); | |
402 | + object.put("sex",user.getSex()); | |
403 | + array.add(object); | |
404 | + } | |
405 | + return array ; | |
50 | 406 | } |
51 | 407 | |
52 | - private void syncDept(){ | |
408 | + private JSONArray initTeacherAddJson(SyncSchoolDto school , List<SyncUserDto> list){ | |
409 | + JSONArray array = new JSONArray(); | |
410 | + for(SyncUserDto user : list){ | |
411 | + JSONObject object = new JSONObject(); | |
412 | + object.put("schoolid",school.getYxtId()); | |
413 | + object.put("name",user.getName()); | |
414 | + object.put("mobile",user.getMobile()); | |
415 | + object.put("sex",user.getSex()); | |
416 | + array.add(object); | |
417 | + } | |
418 | + return array ; | |
419 | + } | |
53 | 420 | |
421 | + private JSONArray initTeacherUpdateJson(SyncSchoolDto school , List<SyncUserDto> list){ | |
422 | + JSONArray array = new JSONArray(); | |
423 | + for(SyncUserDto user : list){ | |
424 | + JSONObject object = new JSONObject(); | |
425 | + object.put("schoolid",school.getYxtId()); | |
426 | + object.put("name",user.getName()); | |
427 | + object.put("mobile",user.getMobile()); | |
428 | + object.put("sex",user.getSex()); | |
429 | + array.add(object); | |
430 | + } | |
431 | + return array ; | |
54 | 432 | } |
55 | 433 | |
56 | - private void syncTeacher(){ | |
434 | + private JSONArray initUserUpdateJson(List<SyncUserDto> list){ | |
435 | + JSONArray array = new JSONArray(); | |
436 | + for(SyncUserDto user : list){ | |
437 | + JSONObject object = new JSONObject(); | |
438 | + object.put("userid",user.getHxyCustomerId()); | |
439 | + object.put("classid",scFeign.selectYxyIdByHxyId(user.getClassId())); | |
440 | + object.put("stuname",user.getName()); | |
441 | + object.put("mobile",user.getMobile()); | |
442 | + object.put("sex",user.getSex()); | |
443 | + array.add(object); | |
444 | + } | |
445 | + return array ; | |
446 | + } | |
57 | 447 | |
448 | + private JSONArray initUserDeleteJson(List<SyncUserDto> list){ | |
449 | + JSONArray array = new JSONArray(); | |
450 | + for(SyncUserDto user : list){ | |
451 | + JSONObject object = new JSONObject(); | |
452 | + object.put("id",user.getHxyCustomerId()); | |
453 | + array.add(object); | |
454 | + } | |
455 | + return array ; | |
58 | 456 | } |
59 | 457 | |
60 | - private void syncClass(){ | |
458 | + private void syncStudentHxy(SyncSchoolDto school , List<SyncUserDto> addStudentList , List<SyncUserDto> updateStudentList ,List<SyncUserDto> deleteStudentList ){ | |
459 | + if(addStudentList.size() > 0){ | |
460 | + JSONArray array = initAddJson(addStudentList); | |
461 | + YXYResult result = getResult(prefix_url+suffix_student_add,array.toJSONString()); | |
462 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
463 | + for(YXYResultDetail detail : result.getData()){ | |
464 | + if(StringUtils.isNotBlank(detail.getId())){ | |
465 | + //成功 | |
466 | + UserRelationDto userRelationDto = new UserRelationDto(); | |
467 | + SyncUserDto syncUserDto = getUser(addStudentList,detail.getName()) ; | |
468 | + userRelationDto.setHxyCustomerId(syncUserDto.getCustomerId()); | |
469 | + userRelationDto.setYxyUserId(detail.getUserid()); | |
470 | + userRelationDto.setSqlstate(1); | |
471 | + userRelationDto.setUserType(1); | |
472 | + userRelationDto.setState(1); | |
473 | + scFeign.updateUserRelation(userRelationDto); | |
474 | + scFeign.updateUser(syncUserDto.getId()); | |
475 | + } | |
476 | + } | |
477 | + }else { | |
478 | + System.out.println(result.getMessage()); | |
479 | + } | |
480 | + } | |
481 | + if(updateStudentList.size() > 0){ | |
482 | + JSONArray array = initUserUpdateJson(updateStudentList); | |
483 | + YXYResult result = getResult(prefix_url+suffix_student_update,array.toJSONString()); | |
484 | + List<String> errorList = new ArrayList<>(); | |
485 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
486 | + for(YXYResultDetail detail : result.getData()){ | |
487 | + if(StringUtils.isNotBlank(detail.getUserid())){ | |
488 | + errorList.add(detail.getUserid()); | |
489 | + System.out.println(detail.getStuname() + "----" + detail.getErr()); | |
490 | + } | |
491 | + } | |
492 | + }else { | |
493 | + System.out.println(result.getMessage()); | |
494 | + } | |
495 | + for(SyncUserDto user : updateStudentList){ | |
496 | + if(!errorList.contains(user.getHxyCustomerId())){ | |
497 | + UserRelationDto userRelationDto = new UserRelationDto(); | |
498 | + userRelationDto.setYxyUserId(user.getCustomerId()); | |
499 | + userRelationDto.setSqlstate(2); | |
500 | + userRelationDto.setUserType(1); | |
501 | + userRelationDto.setState(1); | |
502 | + scFeign.updateUserRelation(userRelationDto); | |
503 | + scFeign.updateDept(user.getId()); | |
504 | + } | |
505 | + } | |
506 | + } | |
507 | + if(deleteStudentList.size() > 0){ | |
508 | + JSONArray array = initUserDeleteJson(deleteStudentList); | |
509 | + YXYResult result = getResult(prefix_url+suffix_user_delete,array.toJSONString()); | |
510 | + List<String> errorList = new ArrayList<>(); | |
511 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
512 | + for(YXYResultDetail detail : result.getData()){ | |
513 | + if(StringUtils.isNotBlank(detail.getUserid())){ | |
514 | + errorList.add(detail.getUserid()); | |
515 | + System.out.println(detail.getStuname() + "----" + detail.getErr()); | |
516 | + } | |
517 | + } | |
518 | + }else { | |
519 | + System.out.println(result.getMessage()); | |
520 | + } | |
521 | + for(SyncUserDto user : updateStudentList){ | |
522 | + if(!errorList.contains(user.getHxyCustomerId())){ | |
523 | + UserRelationDto userRelationDto = new UserRelationDto(); | |
524 | + userRelationDto.setYxyUserId(user.getCustomerId()); | |
525 | + userRelationDto.setSqlstate(2); | |
526 | + userRelationDto.setUserType(1); | |
527 | + userRelationDto.setState(0); | |
528 | + scFeign.updateUserRelation(userRelationDto); | |
529 | + scFeign.updateDept(user.getId()); | |
530 | + } | |
531 | + } | |
532 | + } | |
533 | + } | |
61 | 534 | |
535 | + private void syncTeacherHxy(SyncSchoolDto school , List<SyncUserDto> addTeacherList , List<SyncUserDto> updateTeacherList ,List<SyncUserDto> deleteTeacherList ){ | |
536 | + if(addTeacherList.size() > 0){ | |
537 | + JSONArray array = initTeacherAddJson(school,addTeacherList); | |
538 | + YXYResult result = getResult(prefix_url+suffix_teacher_add,array.toJSONString()); | |
539 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
540 | + for(YXYResultDetail detail : result.getData()){ | |
541 | + if(StringUtils.isNotBlank(detail.getId())){ | |
542 | + //成功 | |
543 | + UserRelationDto userRelationDto = new UserRelationDto(); | |
544 | + SyncUserDto syncUserDto = getUser(addTeacherList,detail.getName()) ; | |
545 | + userRelationDto.setHxyCustomerId(syncUserDto.getCustomerId()); | |
546 | + userRelationDto.setYxyUserId(detail.getUserid()); | |
547 | + userRelationDto.setSqlstate(1); | |
548 | + userRelationDto.setUserType(2); | |
549 | + userRelationDto.setState(1); | |
550 | + scFeign.updateUserRelation(userRelationDto); | |
551 | + scFeign.updateUser(syncUserDto.getId()); | |
552 | + } | |
553 | + } | |
554 | + }else { | |
555 | + System.out.println(result.getMessage()); | |
556 | + } | |
557 | + } | |
558 | + if(updateTeacherList.size() > 0){ | |
559 | + JSONArray array = initTeacherUpdateJson(school,updateTeacherList); | |
560 | + YXYResult result = getResult(prefix_url+suffix_teacher_update,array.toJSONString()); | |
561 | + List<String> errorList = new ArrayList<>(); | |
562 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
563 | + for(YXYResultDetail detail : result.getData()){ | |
564 | + if(StringUtils.isNotBlank(detail.getUserid())){ | |
565 | + errorList.add(detail.getUserid()); | |
566 | + System.out.println(detail.getStuname() + "----" + detail.getErr()); | |
567 | + } | |
568 | + } | |
569 | + }else { | |
570 | + System.out.println(result.getMessage()); | |
571 | + } | |
572 | + for(SyncUserDto user : updateTeacherList){ | |
573 | + if(!errorList.contains(user.getHxyCustomerId())){ | |
574 | + UserRelationDto userRelationDto = new UserRelationDto(); | |
575 | + userRelationDto.setYxyUserId(user.getCustomerId()); | |
576 | + userRelationDto.setSqlstate(2); | |
577 | + userRelationDto.setUserType(2); | |
578 | + userRelationDto.setState(1); | |
579 | + scFeign.updateUserRelation(userRelationDto); | |
580 | + scFeign.updateDept(user.getId()); | |
581 | + } | |
582 | + } | |
583 | + } | |
584 | + if(deleteTeacherList.size() > 0){ | |
585 | + JSONArray array = initUserDeleteJson(deleteTeacherList); | |
586 | + YXYResult result = getResult(prefix_url+suffix_user_delete,array.toJSONString()); | |
587 | + List<String> errorList = new ArrayList<>(); | |
588 | + if(result.getCode() == 0 || result.getCode() == -3){ | |
589 | + for(YXYResultDetail detail : result.getData()){ | |
590 | + if(StringUtils.isNotBlank(detail.getUserid())){ | |
591 | + errorList.add(detail.getUserid()); | |
592 | + System.out.println(detail.getStuname() + "----" + detail.getErr()); | |
593 | + } | |
594 | + } | |
595 | + }else { | |
596 | + System.out.println(result.getMessage()); | |
597 | + } | |
598 | + for(SyncUserDto user : deleteTeacherList){ | |
599 | + if(!errorList.contains(user.getHxyCustomerId())){ | |
600 | + UserRelationDto userRelationDto = new UserRelationDto(); | |
601 | + userRelationDto.setYxyUserId(user.getCustomerId()); | |
602 | + userRelationDto.setSqlstate(2); | |
603 | + userRelationDto.setUserType(2); | |
604 | + userRelationDto.setState(0); | |
605 | + scFeign.updateUserRelation(userRelationDto); | |
606 | + scFeign.updateDept(user.getId()); | |
607 | + } | |
608 | + } | |
609 | + } | |
62 | 610 | } |
63 | 611 | |
64 | - private void syncStudent(){ | |
65 | 612 | |
613 | + //封装组织架构对象 | |
614 | + private JSONArray initAddJson(List<SyncDeptDto> list , String yxtId){ | |
615 | + JSONArray array = new JSONArray(); | |
616 | + for(SyncDeptDto deptDto : list){ | |
617 | + JSONObject object = new JSONObject(); | |
618 | + object.put("schoolid",yxtId); | |
619 | + object.put("name",deptDto.getDeptName()); | |
620 | + if(deptDto.getGradeId() != 0){ | |
621 | + object.put("groupname",getDept(list,deptDto.getGradeId()).getDeptName()); | |
622 | + } | |
623 | + array.add(object); | |
624 | + } | |
625 | + return array ; | |
626 | + } | |
627 | + | |
628 | + private JSONArray initClassAddJson(List<SyncDeptDto> list){ | |
629 | + JSONArray array = new JSONArray(); | |
630 | + for(SyncDeptDto deptDto : list){ | |
631 | + JSONObject object = new JSONObject(); | |
632 | + object.put("gradeid",scFeign.selectYxyIdByHxyId(deptDto.getGradeId())); | |
633 | + object.put("classname",deptDto.getDeptName()); | |
634 | + array.add(object); | |
635 | + } | |
636 | + return array ; | |
637 | + } | |
638 | + | |
639 | + private JSONArray initUpdateJson(List<SyncDeptDto> list){ | |
640 | + JSONArray array = new JSONArray(); | |
641 | + for(SyncDeptDto deptDto : list){ | |
642 | + JSONObject object = new JSONObject(); | |
643 | + object.put("name",deptDto.getDeptName()); | |
644 | + object.put("id",scFeign.selectYxyIdByHxyId(deptDto.getDeptId())); | |
645 | + array.add(object); | |
646 | + } | |
647 | + return array ; | |
648 | + } | |
649 | + | |
650 | + private JSONArray initDeleteJson(List<SyncDeptDto> list){ | |
651 | + JSONArray array = new JSONArray(); | |
652 | + for(SyncDeptDto deptDto : list){ | |
653 | + JSONObject object = new JSONObject(); | |
654 | + object.put("id",scFeign.selectYxyIdByHxyId(deptDto.getDeptId())); | |
655 | + array.add(object); | |
656 | + } | |
657 | + return array ; | |
658 | + } | |
659 | + | |
660 | + //返回父部门,或者年级 | |
661 | + private SyncDeptDto getDept(List<SyncDeptDto> deptList , int pId){ | |
662 | + for(SyncDeptDto dept : deptList){ | |
663 | + if(dept.getDeptId() == pId){ | |
664 | + return dept ; | |
665 | + } | |
666 | + } | |
667 | + return null ; | |
668 | + } | |
669 | + | |
670 | + //返回对应的dept | |
671 | + private SyncDeptDto getDept(List<SyncDeptDto> deptList , String name){ | |
672 | + for(SyncDeptDto dept : deptList){ | |
673 | + if(dept.getDeptName().equals(name)){ | |
674 | + return dept ; | |
675 | + } | |
676 | + } | |
677 | + return null ; | |
678 | + } | |
679 | + | |
680 | + private SyncUserDto getUser(List<SyncUserDto> deptList , String name){ | |
681 | + for(SyncUserDto user : deptList){ | |
682 | + if(user.getName().equals(name)){ | |
683 | + return user ; | |
684 | + } | |
685 | + } | |
686 | + return null ; | |
66 | 687 | } |
67 | 688 | |
68 | 689 | ... | ... |
cloud/search_smartCampus/src/main/resources/mapper/SyncMapper.xml
... | ... | @@ -60,10 +60,12 @@ |
60 | 60 | <result column="Sex" property="sex" /> |
61 | 61 | <result column="mobile" property="mobile" /> |
62 | 62 | <result column="UpdateType" property="updateType" /> |
63 | + <result column="hxyCustomerId" property="hxyCustomerId" /> | |
63 | 64 | </resultMap> |
64 | 65 | <select id="selectUser" parameterType="java.lang.Integer" resultMap="UserDtp"> |
65 | - select ID , UserType , Name , ClassId , CustomerId , Sex , mobile , UpdateType from HS_StudentUpdateCard | |
66 | - where SchoolId = #{schoolId} and Yxy_IsNew = 0 | |
66 | + select HS_StudentUpdateCard.ID , HS_StudentUpdateCard.UserType , HS_StudentUpdateCard.Name , HS_StudentUpdateCard.ClassId , HS_StudentUpdateCard.CustomerId , HS_StudentUpdateCard.Sex , HS_StudentUpdateCard.mobile , HS_StudentUpdateCard.UpdateType , SZ_UserRelation.yxyUserId from HS_StudentUpdateCard | |
67 | + left join SZ_UserRelation on HS_StudentUpdateCard.CustomerId = SZ_UserRelation.hxyCustomerId | |
68 | + where SchoolId =#{schoolId} and Yxy_IsNew = 0 | |
67 | 69 | </select> |
68 | 70 | |
69 | 71 | <insert id="insertDeptRelation" parameterType="com.sincere.common.dto.smartCampus.DeptRelationDto"> | ... | ... |