|
@@ -2,6 +2,7 @@ package com.qmth.distributed.print.business.service.impl;
|
|
|
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.alibaba.fastjson.JSONObject;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
import com.qmth.distributed.print.business.entity.BasicSchool;
|
|
import com.qmth.distributed.print.business.entity.BasicSchool;
|
|
import com.qmth.distributed.print.business.enums.OrgCenterTypeEnum;
|
|
import com.qmth.distributed.print.business.enums.OrgCenterTypeEnum;
|
|
import com.qmth.distributed.print.business.service.BasicSchoolService;
|
|
import com.qmth.distributed.print.business.service.BasicSchoolService;
|
|
@@ -14,6 +15,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
import javax.annotation.Resource;
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
|
|
+import java.util.ArrayList;
|
|
import java.util.Arrays;
|
|
import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
@@ -34,10 +36,27 @@ public class OrgCenterDataDisposeServiceImpl implements OrgCenterDataDisposeServ
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Transactional(rollbackFor = Exception.class)
|
|
@Override
|
|
@Override
|
|
public void updateSchoolInfo() throws IOException {
|
|
public void updateSchoolInfo() throws IOException {
|
|
|
|
+ List<Map> result = callApiOrgCenterService.callOrgInfo();
|
|
// 删除原有学校
|
|
// 删除原有学校
|
|
- basicSchoolService.remove(new QueryWrapper<BasicSchool>().lambda().gt(BasicSchool::getId,0));
|
|
|
|
|
|
+ List<BasicSchool> basicSchoolList = basicSchoolService.list();
|
|
|
|
+ List<Long> oldIdList = basicSchoolList.stream().map(BasicSchool::getId).collect(Collectors.toList());
|
|
|
|
+ List<Long> newIdList = result.stream().map(e -> SystemConstant.convertIdToLong(String.valueOf(e.get("id")))).collect(Collectors.toList());
|
|
|
|
+ List<Long> needDisable = new ArrayList<>();
|
|
|
|
+ List<Long> needDelete = new ArrayList<>();
|
|
|
|
+ for (Long aLong : oldIdList) {
|
|
|
|
+ if (!newIdList.contains(aLong)){
|
|
|
|
+ needDisable.add(aLong);
|
|
|
|
+ }else {
|
|
|
|
+ needDelete.add(aLong);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if (needDisable.size() > 0){
|
|
|
|
+ basicSchoolService.update(new UpdateWrapper<BasicSchool>().lambda().set(BasicSchool::getEnable,false).in(BasicSchool::getId,needDisable));
|
|
|
|
+ }
|
|
|
|
+ if (needDelete.size() > 0){
|
|
|
|
+ basicSchoolService.remove(new QueryWrapper<BasicSchool>().lambda().in(BasicSchool::getId,needDelete));
|
|
|
|
+ }
|
|
|
|
|
|
- List<Map> result = callApiOrgCenterService.callOrgInfo();
|
|
|
|
for (Map map : result) {
|
|
for (Map map : result) {
|
|
Long id = SystemConstant.convertIdToLong(String.valueOf(map.get("id")));
|
|
Long id = SystemConstant.convertIdToLong(String.valueOf(map.get("id")));
|
|
String code = String.valueOf(map.get("code"));
|
|
String code = String.valueOf(map.get("code"));
|