liusheng
2025-09-23 60f25c11afcff593ff56ccb7a52d9bd4714e30c4
smartor/src/main/java/com/smartor/service/impl/ServiceExternalServiceImpl.java
@@ -138,8 +138,12 @@
        sysUser.setUserName(externalUserInfo.getYongHuDLM());
        sysUser.setOrgid(externalUserInfo.getZuZhiJGID());
        //根据userName判断一下,是不是之前有新增
        SysUser sysUser1 = sysUserMapper.selectUserByUserName(externalUserInfo.getYongHuDLM());
        SysUser sysUser1 = null;
        List<SysUser> sysUserList = sysUserMapper.selectUserList(sysUser);
        if (CollectionUtils.isNotEmpty(sysUserList)) {
            sysUser1 = sysUserList.get(0);
            if (sysUserList.size() > 1) sysUser1 = getUser(sysUserList);
        }
        sysUser.setGuid(externalUserInfo.getZuZhiJGID());
        sysUser.setNickName(externalUserInfo.getYongHuXM());
        sysUser.setUserType("");
@@ -173,6 +177,26 @@
    }
    private SysUser getUser(List<SysUser> sysUserList) {
        SysUser sysUser = null;
        if (CollectionUtils.isNotEmpty(sysUserList) && sysUserList.size() > 1) {
            // 按create_time降序排序,获取最新的记录
            List<SysUser> sortedList = sysUserList.stream().sorted(Comparator.comparing(SysUser::getCreateTime).reversed()).collect(Collectors.toList());
            // 第一条(最新的)赋值给sysUser1
            sysUser = sortedList.get(0);
            // 获取需要删除的ID(从第二条开始)
            List<Long> idsToDelete = sortedList.stream().skip(1).map(SysUser::getUserId).collect(Collectors.toList());
            Long[] idArray = idsToDelete.toArray(new Long[0]);
            // 批量删除其他记录
            if (!idsToDelete.isEmpty()) {
                sysUserMapper.deleteUserByIds(idArray);
            }
        }
        return sysUser;
    }
    @Override
    public Boolean addOrganInfo(Map dataMap) {
        log.info("ServiceExternalServiceImpl---addOrganInfo的新增的值为:{}", dataMap);