From 1ea0d09cb028c1455bb938a2aff28814e6ac1c11 Mon Sep 17 00:00:00 2001 From: root <8964602+zxylbj@user.noreply.gitee.com> Date: Tue, 6 Jul 2021 17:30:30 +0800 Subject: [PATCH] =?UTF-8?q?fetch:=E6=9C=BA=E6=9E=84=E4=BA=BA=E5=91=98bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/application-dev.properties | 2 +- .../controller/TsInstitutionController.java | 9 +-- .../sarInstitution/dao/TsInstitutionDao.java | 8 +++ .../sarInstitution/entity/TsInstitution.java | 4 ++ .../service/ITsInstitutionService.java | 7 +- .../impl/TsInstitutionServiceImpl.java | 68 +++++++++++++++---- .../sarUser/controller/TsUserController.java | 7 +- .../adc/da/slrs/sarUser/entity/SyncUser.java | 21 ++++++ .../adc/da/slrs/sarUser/entity/TsUser.java | 15 +++- .../slrs/sarUser/service/ITsUserService.java | 5 ++ .../service/impl/TsUserServiceImpl.java | 43 +++++++++++- .../sarInstitution/TsInstitutionMapper.xml | 3 +- .../adc/da/sync/service/SyncUserService.java | 40 ++++++++--- 13 files changed, 193 insertions(+), 39 deletions(-) create mode 100644 adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/SyncUser.java diff --git a/adc-da-main/src/main/resources/application-dev.properties b/adc-da-main/src/main/resources/application-dev.properties index 71ba6318..a916e2e4 100644 --- a/adc-da-main/src/main/resources/application-dev.properties +++ b/adc-da-main/src/main/resources/application-dev.properties @@ -3,7 +3,7 @@ # 数据库配置 #============================================= spring.datasource.driverClassName = com.mysql.cj.jdbc.Driver -spring.datasource.url = jdbc:mysql://39.100.23.127:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false +spring.datasource.url = jdbc:mysql://192.168.10.47:3306/foton_slrs_test?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC&useSSL=false spring.datasource.username = root spring.datasource.password = root 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 9e0b7c01..22150189 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 @@ -71,11 +71,12 @@ public class TsInstitutionController extends BaseController { @ApiOperation("导入机构数据") @PostMapping("/import") - public ResponseMessage importInstitution(){ - String json="{\"status\":\"true\",\"message\":\"成功\",\"cookie\":null,\"returnCode\":\"0\",\"results\":[{\"orgStatus\":\"1\",\"departmentName\":\"信息技术部\",\"orgType\":\"E1\",\"orgName\":\"信息技术部\",\"parentOrgNumber\":\"31000000\",\"orgShortName\":\"信息技术部\",\"orgNumber\":\"30002337\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部\",\"order\":\"null\",\"modifyTimestamp\":\"20191225061931Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"研发工程系统部\",\"orgType\":\"E1\",\"orgName\":\"研发工程系统部\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"研发工程系统部\",\"orgNumber\":\"40009091\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/研发工程系统部\",\"order\":\"null\",\"modifyTimestamp\":\"20191225062001Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"生产与质量系统部\",\"orgType\":\"E1\",\"orgName\":\"生产与质量系统部\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"生产与质量系统部\",\"orgNumber\":\"40009092\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/生产与质量系统部\",\"order\":\"null\",\"modifyTimestamp\":\"20191225062001Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"营销与售后系统部\",\"orgType\":\"E1\",\"orgName\":\"营销与售后系统部\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"营销与售后系统部\",\"orgNumber\":\"40009093\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/营销与售后系统部\",\"order\":\"null\",\"modifyTimestamp\":\"20191225062001Z\"},{\"orgStatus\":\"0\",\"departmentName\":\"财务系统部\",\"orgType\":\"E1\",\"orgName\":\"财务系统部\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"财务系统部\",\"orgNumber\":\"40009094\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/财务系统部\",\"order\":\"null\",\"modifyTimestamp\":\"20200218075121Z\"},{\"orgStatus\":\"0\",\"departmentName\":\"协作系统部\",\"orgType\":\"E1\",\"orgName\":\"协作系统部\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"协作系统部\",\"orgNumber\":\"40009095\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/协作系统部\",\"order\":\"null\",\"modifyTimestamp\":\"20200219011044Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"大数据部\",\"orgType\":\"E1\",\"orgName\":\"大数据部\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"大数据部\",\"orgNumber\":\"40009096\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/大数据部\",\"order\":\"null\",\"modifyTimestamp\":\"20191225062001Z\"},{\"orgStatus\":\"0\",\"departmentName\":\"福田智科\",\"orgType\":\"E1\",\"orgName\":\"福田智科\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"福田智科\",\"orgNumber\":\"40009385\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/福田智科\",\"order\":\"null\",\"modifyTimestamp\":\"20200218075123Z\"},{\"orgStatus\":\"0\",\"departmentName\":\"系统集成与测试部\",\"orgType\":\"E1\",\"orgName\":\"系统集成与测试部\",\"parentOrgNumber\":\"40009385\",\"orgShortName\":\"系统集成与测试部\",\"orgNumber\":\"40009386\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/福田智科/系统集成与测试部\",\"order\":\"null\",\"modifyTimestamp\":\"20200218075122Z\"},{\"orgStatus\":\"0\",\"departmentName\":\"应用开发部\",\"orgType\":\"E1\",\"orgName\":\"应用开发部\",\"parentOrgNumber\":\"40009385\",\"orgShortName\":\"应用开发部\",\"orgNumber\":\"40009387\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/福田智科/应用开发部\",\"order\":\"null\",\"modifyTimestamp\":\"20200218075122Z\"},{\"orgStatus\":\"0\",\"departmentName\":\"营销部\",\"orgType\":\"E1\",\"orgName\":\"营销部\",\"parentOrgNumber\":\"40009385\",\"orgShortName\":\"营销部\",\"orgNumber\":\"40009388\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/福田智科/营销部\",\"order\":\"null\",\"modifyTimestamp\":\"20200218075122Z\"},{\"orgStatus\":\"0\",\"departmentName\":\"服务部\",\"orgType\":\"E1\",\"orgName\":\"服务部\",\"parentOrgNumber\":\"40009385\",\"orgShortName\":\"服务部\",\"orgNumber\":\"40009389\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/福田智科/服务部\",\"order\":\"null\",\"modifyTimestamp\":\"20200218075122Z\"},{\"orgStatus\":\"0\",\"departmentName\":\"综合管理部\",\"orgType\":\"E1\",\"orgName\":\"综合管理部\",\"parentOrgNumber\":\"40009385\",\"orgShortName\":\"综合管理部\",\"orgNumber\":\"40009390\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/福田智科/综合管理部\",\"order\":\"null\",\"modifyTimestamp\":\"20200218075122Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"车联网平台开发部\",\"orgType\":\"E1\",\"orgName\":\"车联网平台开发部\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"车联网平台开发部\",\"orgNumber\":\"40009391\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/车联网平台开发部\",\"order\":\"null\",\"modifyTimestamp\":\"20191225062001Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"规划与管理部\",\"orgType\":\"E1\",\"orgName\":\"规划与管理部\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"规划与管理部\",\"orgNumber\":\"40009425\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/规划与管理部\",\"order\":\"null\",\"modifyTimestamp\":\"20200211123206Z\"},{\"orgStatus\":\"0\",\"departmentName\":\"车联网平台开发部\",\"orgType\":\"E1\",\"orgName\":\"车联网平台开发部\",\"parentOrgNumber\":\"40009385\",\"orgShortName\":\"车联网平台开发部\",\"orgNumber\":\"40012865\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/福田智科/车联网平台开发部\",\"order\":\"null\",\"modifyTimestamp\":\"20200218075121Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"服务支持系统部\",\"orgType\":\"E1\",\"orgName\":\"服务支持系统部\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"服务支持系统部\",\"orgNumber\":\"40012871\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/服务支持系统部\",\"order\":\"null\",\"modifyTimestamp\":\"20191225062018Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"信息安全部\",\"orgType\":\"E1\",\"orgName\":\"信息安全部\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"信息安全部\",\"orgNumber\":\"40012872\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/信息安全部\",\"order\":\"null\",\"modifyTimestamp\":\"20191225062018Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"IT基础设施部\",\"orgType\":\"E1\",\"orgName\":\"IT基础设施部\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"IT基础设施部\",\"orgNumber\":\"40012873\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/IT基础设施部\",\"order\":\"null\",\"modifyTimestamp\":\"20191225062018Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"IT开发中心\",\"orgType\":\"E1\",\"orgName\":\"IT开发中心\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"IT开发中心\",\"orgNumber\":\"40012874\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/IT开发中心\",\"order\":\"null\",\"modifyTimestamp\":\"20191225062018Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"IT共享服务中心\",\"orgType\":\"E1\",\"orgName\":\"IT共享服务中心\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"IT共享服务中心\",\"orgNumber\":\"40013000\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/IT共享服务中心\",\"order\":\"null\",\"modifyTimestamp\":\"20191225062019Z\"},{\"orgStatus\":\"1\",\"departmentName\":\"工业4.0推进办公室\",\"orgType\":\"E1\",\"orgName\":\"工业4.0推进办公室\",\"parentOrgNumber\":\"30002337\",\"orgShortName\":\"工业4.0推进办公室\",\"orgNumber\":\"40013294\",\"orgFullPath\":\"foton/福田汽车集团/FU/信息技术部/工业4.0推进办公室\",\"order\":\"null\",\"modifyTimestamp\":\"20191225062021Z\"}]}"; - - tsInstitutionService.parseInstitution(json); + public ResponseMessage importInstitution() throws Exception { + tsInstitutionService.parseInstitution(); return Result.success(); } + public static void main(String[] args) { +// System.out.println(json); + } } 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 9b11d375..caed85d4 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 @@ -3,6 +3,7 @@ package com.adc.da.slrs.sarInstitution.dao; import com.adc.da.slrs.sarInstitution.entity.InstitutionAndUser; import com.adc.da.slrs.sarInstitution.entity.TsInstitution; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Select; import java.util.List; @@ -34,4 +35,11 @@ public interface TsInstitutionDao extends BaseMapper { * @param tsInstitutions:机构列表 */ void batchInsert(List tsInstitutions); + + /** + * 查询根机构 + * @return List + */ + @Select("select * from ts_institution where parent_id not in (select id from ts_institution)") + List selectRoot(); } 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 5bffb3d0..51c3673c 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 @@ -55,6 +55,10 @@ public class TsInstitution extends BaseEntity { @ApiModelProperty("是否是机构") private Boolean disabled; + @TableField + @ApiModelProperty("是否有子节点(1有,0没有)") + private String hasChild; + public TsInstitution() { } 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 0fbfb49e..2bd56f28 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,11 +1,6 @@ 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; @@ -33,5 +28,5 @@ public interface ITsInstitutionService extends IService { */ void batchInsert(List tsInstitutions); - public void parseInstitution(String json); + public void parseInstitution() throws Exception; } 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 93dc8780..0d3fd21e 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 @@ -2,13 +2,10 @@ 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; @@ -33,6 +30,8 @@ import java.util.List; public class TsInstitutionServiceImpl extends ServiceImpl implements ITsInstitutionService { @Autowired private TsInstitutionDao tsInstitutionDao; + @Autowired + private SyncUserService syncUserService; /** * 查询所有机构 @@ -40,20 +39,22 @@ public class TsInstitutionServiceImpl extends ServiceImpl getInstitution() { //查询第一层机构 - QueryWrapper institutionQueryWrapper=new QueryWrapper<>(); - institutionQueryWrapper.isNull("parent_id").or().eq("parent_id",""); - List institutionRoot=tsInstitutionDao.selectList(institutionQueryWrapper); + List institutionRoot=tsInstitutionDao.selectRoot(); for(TsInstitution tsInstitution:institutionRoot){ tsInstitution.setChildren(recursionGetInstitution(tsInstitution)); } return institutionRoot; } + /** * 递归获取子机构 * @param tsInstitution:父机构 * @return List */ private List recursionGetInstitution(TsInstitution tsInstitution){ + if(tsInstitution.getHasChild()==null||(!tsInstitution.getHasChild().equals("1"))){ + return null; + } List institutionObject=new ArrayList<>(); QueryWrapper institutionQueryWrapper=new QueryWrapper<>(); institutionQueryWrapper.eq("parent_id",tsInstitution.getId()); @@ -65,6 +66,39 @@ public class TsInstitutionServiceImpl extends ServiceImpl getInstitution() { + //查询第一层机构 + List institutionRoot=tsInstitutionDao.selectRoot(); + for(TsInstitution tsInstitution:institutionRoot){ + tsInstitution.setChildren(recursionGetInstitution(tsInstitution)); + } + return institutionRoot; + } + + *//** + * 递归获取子机构 + * @param tsInstitution:父机构 + * @return List + *//* + private List recursionGetInstitution(TsInstitution tsInstitution){ + if(tsInstitution.getHasChild()==null||(!tsInstitution.getHasChild().equals("1"))){ + return null; + } + List institutionObject=new ArrayList<>(); + QueryWrapper institutionQueryWrapper=new QueryWrapper<>(); + institutionQueryWrapper.eq("parent_id",tsInstitution.getId()); + List tsInstitutions=tsInstitutionDao.selectList(institutionQueryWrapper); + for(TsInstitution tsInstitutionNode:tsInstitutions){ + tsInstitutionNode.setChildren(recursionGetInstitution(tsInstitutionNode)); + institutionObject.add(tsInstitutionNode); + } + return institutionObject; + }*/ + /** * 查询所有机构 */ @@ -100,6 +134,13 @@ public class TsInstitutionServiceImpl extends ServiceImpl */ private List recursionGetInstitutionAndUser(TsInstitution tsInstitution){ + System.out.println(1); + System.out.println(tsInstitution); + if(tsInstitution.getHasChild()==null||(!tsInstitution.getHasChild().equals("1"))){ + return null; + } + System.out.println(2); + System.out.println(tsInstitution); List institutionObject=new ArrayList<>(); List tsInstitutions=tsInstitutionDao.selectAndUserByParent(tsInstitution.getId()); @@ -114,12 +155,15 @@ public class TsInstitutionServiceImpl extends ServiceImpl syncInstitutions=results.toJavaList(SyncInstitution.class); - List tsInstitutions=SyncInstitution.syncToInstitution(syncInstitutions); - batchInsert(tsInstitutions); + public void parseInstitution() throws Exception { + List jsons=syncUserService.syncFotonOrg(); + for(String json:jsons){ + JSONObject jsonObject= JSON.parseObject(json); + JSONArray results=jsonObject.getJSONArray("results"); + List syncInstitutions=results.toJavaList(SyncInstitution.class); + List tsInstitutions=SyncInstitution.syncToInstitution(syncInstitutions); + batchInsert(tsInstitutions); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java index 32a5091a..fa39bc3e 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/controller/TsUserController.java @@ -63,6 +63,11 @@ public class TsUserController extends BaseController { return Result.success(resources); } - + @ApiOperation("导入人员数据") + @GetMapping("/import") + public ResponseMessage importUser() throws Exception { + tsUserService.parseUser(); + return Result.success(); + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/SyncUser.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/SyncUser.java new file mode 100644 index 00000000..dfd9b03a --- /dev/null +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/SyncUser.java @@ -0,0 +1,21 @@ +package com.adc.da.slrs.sarUser.entity; + +import lombok.Data; + +@Data +public class SyncUser { + private String userid; + private String name; + private String gender; + private String givenName; + private String mail; + private String mobile; + private String title; + private String employeeNumber; + private String orgNumber; + private String orgName; + + public static TsUser toUser(SyncUser syncUser){ + return new TsUser(syncUser.getUserid(),syncUser.getName(),syncUser.getGender(),syncUser.getMobile(),syncUser.getMail(),syncUser.getOrgName(),syncUser.getOrgNumber(),syncUser.getTitle()); + } +} diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/TsUser.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/TsUser.java index 1a68858c..b3dd2824 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/TsUser.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/entity/TsUser.java @@ -4,6 +4,7 @@ import com.adc.da.base.entity.BaseEntity; import java.math.BigDecimal; import com.adc.da.slrs.sarPosition.entity.TsPosition; +import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import java.sql.Timestamp; @@ -42,7 +43,7 @@ public class TsUser extends BaseEntity { @ApiModelProperty(value = "主键Id") @NotNull(message = "userId不能为空",groups = {disable.class}) - @TableId(value = "USID") + @TableId(value = "USID",type = IdType.UUID) private String userId; @ApiModelProperty(value = "帐户") @@ -141,5 +142,17 @@ public class TsUser extends BaseEntity { @TableField(exist = false) private List positions; + public TsUser() { + } + public TsUser(String account, String uname, String sex, String phone, String email, String institutionName, String institutionId, String positionName) { + this.account = account; + this.uname = uname; + this.sex = sex; + this.phone = phone; + this.email = email; + this.institutionName = institutionName; + this.institutionId = institutionId; + this.positionName = positionName; + } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java index feb7c4db..b50c7206 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/ITsUserService.java @@ -64,4 +64,9 @@ public interface ITsUserService extends IService { public List getMenusByUserId(String userId); List getResourceId(TsResource tsResource); + + /** + * 导入人员数据 + */ + void parseUser() throws Exception; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java index 8fe1f319..9a60f7b4 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarUser/service/impl/TsUserServiceImpl.java @@ -5,16 +5,24 @@ import com.adc.da.http.Result; import com.adc.da.login.util.UserUtils; import com.adc.da.slrs.sarMenu.entity.SarMenu; import com.adc.da.slrs.sarMenu.service.ISarMenuService; +import com.adc.da.slrs.sarPosition.dao.TsPositionDao; +import com.adc.da.slrs.sarPosition.entity.TsPosition; import com.adc.da.slrs.sarPosition.service.ITsPositionService; import com.adc.da.slrs.sarResource.entity.TsResource; import com.adc.da.slrs.sarResource.service.ITsResourceService; import com.adc.da.slrs.sarRole.service.ITsRoleService; +import com.adc.da.slrs.sarUser.entity.SyncUser; import com.adc.da.slrs.sarUser.entity.TsUser; import com.adc.da.slrs.sarUser.dao.TsUserDao; import com.adc.da.slrs.sarUser.entity.UserPositionVO; import com.adc.da.slrs.sarUser.service.ITsUserService; +import com.adc.da.sync.service.SyncUserService; import com.adc.da.sys.entity.UserEO; import com.adc.da.utils.util.ListUtil; +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; import org.springframework.context.annotation.Lazy; @@ -45,8 +53,10 @@ public class TsUserServiceImpl extends ServiceImpl implements private ISarMenuService sarMenuService; @Autowired private ITsResourceService tsResourceService; -// @Autowired -// private ISarUserPersonalMenuService sarUserPersonalMenuService; + @Autowired + private SyncUserService syncUserService; + @Autowired + private TsPositionDao tsPositionDao; /** * 通过机构ID查询人员 @@ -184,4 +194,33 @@ public class TsUserServiceImpl extends ServiceImpl implements return tsRoleService.getResourceIdsByRoleIds(roleIds); } + + /** + * 导入人员数据 + */ + @Override + public void parseUser() throws Exception { + List jsons=syncUserService.syncFotonUser(); + for(String json:jsons){ + JSONObject jsonObject= JSON.parseObject(json); + JSONArray jsonArray=jsonObject.getJSONArray("results"); + List syncUsers=jsonArray.toJavaList(SyncUser.class); + for(SyncUser syncUser:syncUsers){ + QueryWrapper positionQueryWrapper=new QueryWrapper<>(); + positionQueryWrapper.eq("name",syncUser.getTitle()); + TsPosition tsPosition=tsPositionDao.selectOne(positionQueryWrapper); + if(tsPosition==null){ + tsPosition=new TsPosition(); + tsPosition.setName(syncUser.getTitle()); + tsPosition.setType("1"); + tsPositionDao.insert(tsPosition); + } + TsUser tsUser=SyncUser.toUser(syncUser); + tsUser.setPositionId(tsPosition.getId()); + tsUserDao.insert(tsUser); + + } + } + System.out.println(jsons.size()); + } } 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 de116e00..7b91c84b 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 @@ -6,6 +6,7 @@ + @@ -17,7 +18,7 @@ select i.*,u.usid,u.account,u.uname,u.institution_id from ts_institution i left join ts_user u on i.id=u.institution_id - where i.parent_id is null or i.parent_id='' + where i.parent_id not in (select id from ts_institution)