From 011b5e247a282aaa6ecaaae102dba41ad5efa611 Mon Sep 17 00:00:00 2001 From: root <8964602+zxylbj@user.noreply.gitee.com> Date: Mon, 5 Jul 2021 10:32:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/TsInstitutionController.java | 14 +++++++--- .../sarInstitution/dao/TsInstitutionDao.java | 6 +++++ .../entity/SyncInstitution.java | 27 +++++++++++++++++++ .../sarInstitution/entity/TsInstitution.java | 9 +++++++ .../service/ITsInstitutionService.java | 12 +++++++++ .../impl/TsInstitutionServiceImpl.java | 25 +++++++++++++++++ .../sarInstitution/TsInstitutionMapper.xml | 9 +++++++ .../adc/da/sync/service/SyncUserService.java | 6 +++++ 8 files changed, 104 insertions(+), 4 deletions(-) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/SyncInstitution.java diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java index 53cae48e..ff987ba2 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/controller/TsInstitutionController.java @@ -9,14 +9,12 @@ import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.slrs.sarUser.service.ITsUserService; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.*; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; import com.adc.da.base.web.BaseController; import java.util.List; +import java.util.Map; /** @@ -70,4 +68,12 @@ public class TsInstitutionController extends BaseController { List tsUsers=tsUserService.getUserByInstitutionId(institutionId); return Result.success(tsUsers); } + + @ApiOperation("导入机构数据") + @PostMapping("/import") + public ResponseMessage importInstitution(Map param){ + String json= (String) param.get("json"); + tsInstitutionService.parseInstitution(json); + return Result.success(); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java index f290b050..9b11d375 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/dao/TsInstitutionDao.java @@ -28,4 +28,10 @@ public interface TsInstitutionDao extends BaseMapper { * @return List */ List selectAndUserByParent(String parentId); + + /** + * 批量插入机构 + * @param tsInstitutions:机构列表 + */ + void batchInsert(List tsInstitutions); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/SyncInstitution.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/SyncInstitution.java new file mode 100644 index 00000000..13006f9e --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/SyncInstitution.java @@ -0,0 +1,27 @@ +package com.adc.da.slrs.sarInstitution.entity; + +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class SyncInstitution { + private String orgNumber; + private String orgName; + private String departmentName; + private String orgStatus; + private String orgShortName; + private String parentOrgNumber; + private String orgFullPath; + private String order; + private String modifyTimestamp; + + public static List syncToInstitution(List syncInstitutions){ + List tsInstitutions=new ArrayList<>(); + for(SyncInstitution syncInstitution:syncInstitutions){ + tsInstitutions.add(new TsInstitution(syncInstitution.getOrgNumber(),syncInstitution.getParentOrgNumber(),syncInstitution.getOrgName())); + } + return tsInstitutions; + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java index dcd7e36b..5bffb3d0 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/entity/TsInstitution.java @@ -54,4 +54,13 @@ public class TsInstitution extends BaseEntity { @TableField(exist = false) @ApiModelProperty("是否是机构") private Boolean disabled; + + public TsInstitution() { + } + + public TsInstitution(String id, String parentId, String name) { + this.id = id; + this.parentId = parentId; + this.name = name; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java index cf25a449..0fbfb49e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/ITsInstitutionService.java @@ -1,7 +1,11 @@ package com.adc.da.slrs.sarInstitution.service; +import com.adc.da.slrs.sarInstitution.entity.SyncInstitution; import com.adc.da.slrs.sarInstitution.entity.TsInstitution; import com.adc.da.slrs.sarUser.entity.TsUser; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; @@ -22,4 +26,12 @@ public interface ITsInstitutionService extends IService { List getInstitution(); List getInstitutionAndUser(); + + /** + * 批量插入机构 + * @param tsInstitutions:机构列表 + */ + void batchInsert(List tsInstitutions); + + public void parseInstitution(String json); } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java index 0da4f112..34d82201 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarInstitution/service/impl/TsInstitutionServiceImpl.java @@ -3,11 +3,16 @@ package com.adc.da.slrs.sarInstitution.service.impl; import com.adc.da.slrs.sarInstitution.dao.TsInstitutionDao; import com.adc.da.slrs.sarInstitution.entity.InstitutionAndUser; +import com.adc.da.slrs.sarInstitution.entity.SyncInstitution; import com.adc.da.slrs.sarInstitution.entity.TsInstitution; import com.adc.da.slrs.sarInstitution.entity.TsUserVO; import com.adc.da.slrs.sarInstitution.service.ITsInstitutionService; import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.slrs.sarUser.service.ITsUserService; +import com.adc.da.sync.service.SyncUserService; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; @@ -78,6 +83,16 @@ public class TsInstitutionServiceImpl extends ServiceImpl tsInstitutions) { + if(tsInstitutions!=null&&tsInstitutions.size()>0){ + tsInstitutionDao.batchInsert(tsInstitutions); + } + } /** @@ -99,4 +114,14 @@ public class TsInstitutionServiceImpl extends ServiceImpl syncInstitutions=results.toJavaList(SyncInstitution.class); + List tsInstitutions=SyncInstitution.syncToInstitution(syncInstitutions); + batchInsert(tsInstitutions); + } + + } diff --git a/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml b/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml index 6c623498..b914694b 100644 --- a/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml +++ b/adc-da-slrs/src/main/resources/mybatis/mapper/sarInstitution/TsInstitutionMapper.xml @@ -26,4 +26,13 @@ on i.id=u.institution_id where i.parent_id = #{parentId} + + + insert into ts_institution (id,name,parent_id) values + ( + + #{id},#{name},#{parentId} + + ) + diff --git a/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java b/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java index defd0c5c..2214c03d 100644 --- a/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java +++ b/adc-da-sys/src/main/java/com/adc/da/sync/service/SyncUserService.java @@ -1,14 +1,18 @@ package com.adc.da.sync.service; + import com.adc.da.sync.util.AuthUtils; +import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import net.sf.json.JSONSerializer; import org.apache.commons.codec.binary.Base64; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; +import java.util.List; import java.util.Map; @Service("syncUserService") @@ -97,4 +101,6 @@ public class SyncUserService { } while (cookie != null); } + + }