OrgSyncByJyzyService.java 20.6 KB
Newer Older
吴泽佳's avatar
吴泽佳 committed
1 2
package com.tanpu.feo.feojob.service;

3
import cn.hutool.core.date.DateTime;
吴泽佳's avatar
吴泽佳 committed
4 5 6
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
7 8
import com.tanpu.common.api.CommonResp;
import com.tanpu.feo.feojob.dao.user.entity.*;
吴泽佳's avatar
吴泽佳 committed
9 10
import com.tanpu.feo.feojob.dto.JyzyTeamDto;
import com.tanpu.feo.feojob.dto.OrgInfoDto;
吴泽佳's avatar
吴泽佳 committed
11
import com.tanpu.feo.feojob.dto.OrgSyncDto;
吴泽佳's avatar
吴泽佳 committed
12
import com.tanpu.feo.feojob.dto.WorkDataDto;
13 14 15
import com.tanpu.feo.feojob.dao.jyzyuser.entity.JyzyOrgEntity;
import com.tanpu.feo.feojob.dao.jyzyuser.entity.JyzyTeamEntity;
import com.tanpu.feo.feojob.dao.jyzyuser.entity.JyzyUserInfoEntity;
吴泽佳's avatar
吴泽佳 committed
16 17
import com.tanpu.feo.feojob.enums.EmployeeDutyEnum;
import com.tanpu.feo.feojob.enums.RoleTypeEnum;
xd's avatar
xd committed
18 19 20
import com.tanpu.feo.feojob.service.jyzy.JyzyOrgService;
import com.tanpu.feo.feojob.service.jyzy.JyzyTeamService;
import com.tanpu.feo.feojob.service.jyzy.JyzyUserInfoService;
吴泽佳's avatar
吴泽佳 committed
21 22
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
吴泽佳's avatar
吴泽佳 committed
23

吴泽佳's avatar
吴泽佳 committed
24
import javax.annotation.Resource;
25
import java.util.*;
吴泽佳's avatar
吴泽佳 committed
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
import java.util.stream.Collectors;

@Service
@Slf4j
public class OrgSyncByJyzyService {
    @Resource
    private OrgService orgService;
    @Resource
    private UserInfoService userInfoService;
    @Resource
    private DepartmentService departmentService;
    @Resource
    private DepartmentEmployeeService departmentEmployeeService;
    @Resource
    private EmployeeService employeeService;
    @Resource
    private EmployeeRoleService employeeRoleService;
    @Resource
    private RoleService roleService;
    @Resource
    private JyzyOrgService jyzyOrgService;
    @Resource
    private JyzyTeamService jyzyTeamService;
    @Resource
    private JyzyUserInfoService jyzyUserInfoService;
    @Resource
    private OrgSyncService orgSyncService;

54
    public CommonResp<String> orgSyncByJyzy(OrgSyncDto orgSyncDto) {
吴泽佳's avatar
吴泽佳 committed
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
        try {
            //1 从精业展业 数据库中 获取组织及用户 信息
            List<JyzyTeamDto> jyzyTeamDtoList = getJyzyTeamByOrgCode(orgSyncDto.getJyzyOrgCode());
            log.info("====== 精业展业 获取的数据为:{}", JSONUtil.toJsonStr(jyzyTeamDtoList));
            //2 从feo 数据库中 获取现有的 组织及人员 信息
            OrgInfoDto orgInfoDto = getOrgInfoByFeoOrgCode(orgSyncDto.getFeoOrgCode());
            log.info("====== 理财师机构版 获取的数据为:{}", JSONUtil.toJsonStr(orgInfoDto));
            //3 数据对比
            WorkDataDto<UserInfoEntity> workUserInfo = new WorkDataDto<>();
            WorkDataDto<EmployeeEntity> workEmployee = new WorkDataDto<>();
            WorkDataDto<DepartmentEntity> workDepartment = new WorkDataDto<>();
            WorkDataDto<DepartmentEmployeeEntity> workDepartmentEmployee = new WorkDataDto<>();
            WorkDataDto<EmployeeRoleEntity> workEmployeeRole = new WorkDataDto<>();
            dataCompare(workUserInfo, workEmployee, workDepartment, workDepartmentEmployee, workEmployeeRole, jyzyTeamDtoList, orgInfoDto);
            //4 数据操作
70
            orgSyncService.updateData(orgInfoDto.getOrgId(), workUserInfo, workEmployee, workDepartment, workDepartmentEmployee, workEmployeeRole);
吴泽佳's avatar
吴泽佳 committed
71 72

        } catch (Exception e) {
73
            log.error("=========从 精业展业 同步 机构信息失败,原因--->{}", e.getMessage());
74
            return CommonResp.failed(e.getMessage());
吴泽佳's avatar
吴泽佳 committed
75
        }
76
        return CommonResp.success("同步成功");
吴泽佳's avatar
吴泽佳 committed
77 78 79 80 81 82
    }

    private void dataCompare(WorkDataDto<UserInfoEntity> workUserInfo, WorkDataDto<EmployeeEntity> workEmployee, WorkDataDto<DepartmentEntity> workDepartment,
                             WorkDataDto<DepartmentEmployeeEntity> workDepartmentEmployee, WorkDataDto<EmployeeRoleEntity> workEmployeeRole,
                             List<JyzyTeamDto> jyzyTeamDtoList, OrgInfoDto orgInfoDto) {
        log.info("======开始数据对比======");
83 84 85 86 87 88 89
        try {


            HashMap<String, JyzyUserInfoEntity> jyzyUserInfoHashMap = new HashMap<>();
            jyzyTeamDtoList.forEach(jyzyTeamDto -> jyzyTeamDto.getJyzyUserInfos().forEach(jyzyUserInfo -> jyzyUserInfoHashMap.put(jyzyUserInfo.getId(), jyzyUserInfo)));

            Map<String, String> infoNoAdmin = roleService.findInfoNoAdmin();
90

91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
            // 1 user_info
            List<UserInfoEntity> insertUserInfoList = new ArrayList<>();
            List<UserInfoEntity> deleteUserInfoList = new ArrayList<>();
            List<UserInfoEntity> updateUserInfoList = new ArrayList<>();

            orgInfoDto.getUserInfoList().forEach(userInfo -> {
                JyzyUserInfoEntity jyzyUserInfo = jyzyUserInfoHashMap.get(userInfo.getId());
                // 删除
                if (ObjectUtil.isNull(jyzyUserInfo)) {
                    deleteUserInfoList.add(userInfo);
                    return; // 跳过当前循环
                }
                // 更新
                if (!jyzyUserInfo.getMD5().equals(userInfo.getMD5()) || StrUtil.isBlank(userInfo.getUiWechatXcxQrcode())) {
                    userInfo.update(jyzyUserInfo);
                    if (StrUtil.isBlank(userInfo.getUiWechatXcxQrcode())) { //重新生成 小程序 球形码
                        userInfo.setUiWechatXcxQrcode(orgSyncService.createWechatXcxQrcode(userInfo.getId(), userInfo.getUiHeadimg()));
                    }
                    updateUserInfoList.add(userInfo);
110
                }
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
                jyzyUserInfoHashMap.remove(userInfo.getId());
            });
            jyzyUserInfoHashMap.forEach((key, jyzyUserInfo) -> {
                // 新增
                UserInfoEntity userInfo = new UserInfoEntity(jyzyUserInfo);
                userInfo.setOrgId(orgInfoDto.getOrgId());
                userInfo.setLevel(2);
                userInfo.setUiGrade("0");
                userInfo.setUiRegisterTime(DateTime.now());
                userInfo.setUiWechatXcxQrcode(orgSyncService.createWechatXcxQrcode(userInfo.getId(), userInfo.getUiHeadimg()));
                insertUserInfoList.add(userInfo);
            });

            List<EmployeeEntity> insertEmployeeList = new ArrayList<>();
            List<EmployeeEntity> updateEmployeeList = new ArrayList<>();
            List<EmployeeEntity> deleteEmployeeList = new ArrayList<>();

            List<EmployeeRoleEntity> insertEmployeeRoleList = new ArrayList<>();
            List<EmployeeRoleEntity> updateEmployeeRoleList = new ArrayList<>();
            List<EmployeeRoleEntity> deleteEmployeeRoleList = new ArrayList<>();

            List<DepartmentEmployeeEntity> insertDepartmentEmployeeList = new ArrayList<>();
            List<DepartmentEmployeeEntity> updateDepartmentEmployeeList = new ArrayList<>();
            List<DepartmentEmployeeEntity> deleteDepartmentEmployeeList = new ArrayList<>();

            // 员工新增
            insertUserInfoList.forEach(userInfoEntity -> {
                // employee
                EmployeeEntity employeeEntity = new EmployeeEntity(userInfoEntity);
                employeeEntity.setOrgId(orgInfoDto.getOrgId());
                employeeEntity.setBoundWechat(StrUtil.isNotBlank(userInfoEntity.getUiOpenid()) ? orgInfoDto.getOrgId() + "_" + userInfoEntity.getId() : null);
                insertEmployeeList.add(employeeEntity);

                // employee_role
                EmployeeRoleEntity employeeRoleEntity = new EmployeeRoleEntity();
                employeeRoleEntity.setEmployeeId(userInfoEntity.getId());
吴泽佳's avatar
吴泽佳 committed
147
                employeeRoleEntity.setRoleId(infoNoAdmin.get("1".equals(userInfoEntity.getUiShenfen()) ? RoleTypeEnum.TEAM.code : RoleTypeEnum.IFA.code));
148 149 150 151 152 153 154
                employeeRoleEntity.setOrgId(orgInfoDto.getOrgId());
                insertEmployeeRoleList.add(employeeRoleEntity);

                // department_employee 在精业展业中 一个用户对应一个部门
                DepartmentEmployeeEntity departmentEmployee = new DepartmentEmployeeEntity();
                departmentEmployee.setEmployeeId(userInfoEntity.getId());
                departmentEmployee.setDepartmentId(userInfoEntity.getTeamId());
吴泽佳's avatar
吴泽佳 committed
155
                departmentEmployee.setType("1".equals(userInfoEntity.getUiShenfen()) ? EmployeeDutyEnum.DIRECTOR.code: EmployeeDutyEnum.STAFF.code);
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178
                departmentEmployee.setOrgId(orgInfoDto.getOrgId());
                insertDepartmentEmployeeList.add(departmentEmployee);

            });

            // 员工修改
            updateUserInfoList.forEach(userInfoEntity -> {
                // employee
                Optional<EmployeeEntity> employeeEntityOptional = orgInfoDto.getEmployeeList().stream().filter(employee -> employee.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
                if (employeeEntityOptional.isPresent()) {
                    EmployeeEntity employeeEntity = employeeEntityOptional.get();
                    if (StrUtil.compare(employeeEntity.getName(), userInfoEntity.getUiUsername(), true) != 0
                            || StrUtil.compare(employeeEntity.getPhone(), userInfoEntity.getUiTelphone(), true) != 0
                            || StrUtil.compare(employeeEntity.getMail(), userInfoEntity.getUiEmailMp(), true) != 0
                            || StrUtil.compare(employeeEntity.getNumber(), userInfoEntity.getStaffNo(), true) != 0) {

                        employeeEntity.setName(userInfoEntity.getUiUsername());
                        employeeEntity.setPhone(userInfoEntity.getUiTelphone());
                        employeeEntity.setMail(userInfoEntity.getUiEmailMp());
                        employeeEntity.setNumber(userInfoEntity.getStaffNo());
                        employeeEntity.setBoundWechat(StrUtil.isNotBlank(userInfoEntity.getUiOpenid()) ? orgInfoDto.getOrgId() + "_" + userInfoEntity.getUiUsername() : null);
                        updateEmployeeList.add(employeeEntity);
                    }
179

180 181 182 183 184 185
                }

                // employee_role
                Optional<EmployeeRoleEntity> employeeRoleEntityOptional = orgInfoDto.getEmployeeRoleList().stream().filter(employeeRole -> employeeRole.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
                if (employeeRoleEntityOptional.isPresent()) {
                    EmployeeRoleEntity employeeRoleEntity = employeeRoleEntityOptional.get();
吴泽佳's avatar
吴泽佳 committed
186
                    String role = "1".equals(userInfoEntity.getUiShenfen()) ? RoleTypeEnum.TEAM.code : RoleTypeEnum.IFA.code;
187 188 189 190
                    if (StrUtil.compare(infoNoAdmin.get(role), employeeRoleEntity.getRoleId(), true) != 0) {
                        employeeRoleEntity.setRoleId(infoNoAdmin.get(role));
                        updateEmployeeRoleList.add(employeeRoleEntity);
                    }
191 192 193

                }

194 195 196 197 198 199 200 201 202
                // department_employee
                Optional<DepartmentEmployeeEntity> departmentEmployeeEntityOptional = orgInfoDto.getDepartmentEmployeeList().stream().filter(departmentEmployee -> departmentEmployee.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
                if (departmentEmployeeEntityOptional.isPresent()) {
                    DepartmentEmployeeEntity departmentEmployeeEntity = departmentEmployeeEntityOptional.get();
                    if (StrUtil.compare(userInfoEntity.getTeamId(), departmentEmployeeEntity.getDepartmentId(), true) != 0) {
                        departmentEmployeeEntity.setDepartmentId(userInfoEntity.getTeamId());
                        updateDepartmentEmployeeList.add(departmentEmployeeEntity);
                    }
                }
203 204


205
            });
206

207 208 209 210 211 212 213 214
            // 员工删除
            deleteUserInfoList.forEach(userInfoEntity -> {
                // employee
                Optional<EmployeeEntity> employeeEntityOptional = orgInfoDto.getEmployeeList().stream().filter(employee -> employee.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
                if (employeeEntityOptional.isPresent()) {
                    EmployeeEntity employeeEntity = employeeEntityOptional.get();
                    deleteEmployeeList.add(employeeEntity);
                }
215

216 217 218 219 220 221
                // employee_role
                Optional<EmployeeRoleEntity> employeeRoleEntityOptional = orgInfoDto.getEmployeeRoleList().stream().filter(employeeRole -> employeeRole.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
                if (employeeRoleEntityOptional.isPresent()) {
                    EmployeeRoleEntity employeeRoleEntity = employeeRoleEntityOptional.get();
                    deleteEmployeeRoleList.add(employeeRoleEntity);
                }
222

223 224 225 226 227 228
                // department_employee
                Optional<DepartmentEmployeeEntity> departmentEmployeeEntityOptional = orgInfoDto.getDepartmentEmployeeList().stream().filter(departmentEmployee -> departmentEmployee.getEmployeeId().equals(userInfoEntity.getId())).findFirst();
                if (departmentEmployeeEntityOptional.isPresent()) {
                    DepartmentEmployeeEntity departmentEmployeeEntity = departmentEmployeeEntityOptional.get();
                    deleteDepartmentEmployeeList.add(departmentEmployeeEntity);
                }
229

230
            });
231

232 233 234
            workUserInfo.setInsertList(insertUserInfoList);
            workUserInfo.setUpdateList(updateUserInfoList);
            workUserInfo.setDeleteList(deleteUserInfoList);
235

236 237 238
            workEmployee.setInsertList(insertEmployeeList);
            workEmployee.setUpdateList(updateEmployeeList);
            workEmployee.setDeleteList(deleteEmployeeList);
239

240 241 242
            workDepartmentEmployee.setInsertList(insertDepartmentEmployeeList);
            workDepartmentEmployee.setUpdateList(updateDepartmentEmployeeList);
            workDepartmentEmployee.setDeleteList(deleteDepartmentEmployeeList);
243

244 245 246
            workEmployeeRole.setInsertList(insertEmployeeRoleList);
            workEmployeeRole.setUpdateList(updateEmployeeRoleList);
            workEmployeeRole.setDeleteList(deleteEmployeeRoleList);
247

248 249 250 251
            // 部门
            List<DepartmentEntity> insertDepartmentList = new ArrayList<>();
            List<DepartmentEntity> updateDepartmentList = new ArrayList<>();
            List<DepartmentEntity> deleteDepartmentList = new ArrayList<>();
252

253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280
            Map<String, JyzyTeamEntity> jyzyTeamEntityMap = jyzyTeamDtoList.stream().collect(Collectors.toMap(jyzyTeamDto -> jyzyTeamDto.getJyzyTeam().getId(), JyzyTeamDto::getJyzyTeam));
            orgInfoDto.getDepartmentList().forEach(departmentEntity -> {
                JyzyTeamEntity jyzyTeamEntity = jyzyTeamEntityMap.get(departmentEntity.getDepartmentId());
                // 删除
                if (ObjectUtil.isNull(jyzyTeamEntity)) {
                    deleteDepartmentList.add(departmentEntity);
                    return;
                }
                // 更新
                int memberNums = 0;
                Optional<JyzyTeamDto> jyzyTeamDtoOptional = jyzyTeamDtoList.stream().filter(jyzyTeamDto -> jyzyTeamDto.getJyzyTeam().getId().equals(departmentEntity.getDepartmentId())).findFirst();
                if (jyzyTeamDtoOptional.isPresent()) {
                    memberNums = jyzyTeamDtoOptional.get().getJyzyUserInfos().size();
                }
                if (StrUtil.compare(departmentEntity.getDepartmentName(), jyzyTeamEntity.getTeamName(), true) != 0
                        || StrUtil.compare(departmentEntity.getParentDepartId(), jyzyTeamEntity.getPId(), true) != 0
                        || !departmentEntity.getMembers().equals(memberNums)) {
                    departmentEntity.setDepartmentName(jyzyTeamEntity.getTeamName());
                    departmentEntity.setParentDepartId(jyzyTeamEntity.getPId());
                    departmentEntity.setMembers(memberNums);
                    updateDepartmentList.add(departmentEntity);
                }
                jyzyTeamEntityMap.remove(departmentEntity.getDepartmentId());
            });


            // 新增
            jyzyTeamEntityMap.forEach((id, jyzyTeamEntity) -> {
吴泽佳's avatar
吴泽佳 committed
281 282 283 284 285
                int memberNums = 0;
                Optional<JyzyTeamDto> jyzyTeamDtoOptional = jyzyTeamDtoList.stream().filter(jyzyTeamDto -> jyzyTeamDto.getJyzyTeam().getId().equals(id)).findFirst();
                if (jyzyTeamDtoOptional.isPresent()) {
                    memberNums = jyzyTeamDtoOptional.get().getJyzyUserInfos().size();
                }
286 287 288 289 290 291
                DepartmentEntity department = new DepartmentEntity();
                department.setDepartmentId(id);
                department.setParentDepartId(jyzyTeamEntity.getPId());
                department.setDepartmentName(jyzyTeamEntity.getTeamName());
                int length = jyzyTeamEntity.getFullPathId().split("/").length;
                department.setLevel(length - 1);
吴泽佳's avatar
吴泽佳 committed
292
                department.setMembers(memberNums);
293 294 295 296 297 298 299 300 301
                department.setOrgId(orgInfoDto.getOrgId());
                insertDepartmentList.add(department);
            });
            workDepartment.setInsertList(insertDepartmentList);
            workDepartment.setUpdateList(updateDepartmentList);
            workDepartment.setDeleteList(deleteDepartmentList);
        } catch (Exception e) {
            log.error("====== 数据对比失败,失败原因-->", e);
        }
吴泽佳's avatar
吴泽佳 committed
302 303 304 305
        log.info("======结束数据对比======");
    }

    /**
306 307 308 309
     * @description: 根据理财师机构版的机构code 获取其的 机构及用户信息列表
     * @Author: zejia zj wu
     * @date: 2021/5/27 3:13 下午
     */
吴泽佳's avatar
吴泽佳 committed
310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343
    private OrgInfoDto getOrgInfoByFeoOrgCode(String feoOrgCode) throws Exception {
        OrgInfoDto.OrgInfoDtoBuilder orgInfoDtoBuilder = OrgInfoDto.builder();
        try {
            // 1 根据orgcode 获取机构信息
            OrgEntity org = orgService.findByOrgCode(feoOrgCode);
            if (ObjectUtil.isEmpty(org) || StrUtil.isBlank(org.getId())) {
                throw new Exception("feoOrgCode 不存在");
            }
            String orgId = org.getId();
            orgInfoDtoBuilder.orgId(orgId);
            // 2 根据 orgId 获取 userInfoList信息
            List<UserInfoEntity> userInfoList = userInfoService.getUserInfoListByOrgId(orgId);
            orgInfoDtoBuilder.userInfoList(userInfoList);
            // 3 根据 orgId 获取 Employee信息
            List<EmployeeEntity> employeeList = employeeService.getEmployeeSListByOrgId(orgId);
            orgInfoDtoBuilder.employeeList(employeeList);
            // 4 根据 orgId 获取 Department信息
            List<DepartmentEntity> departmentList = departmentService.findDepartmentByOrgId(orgId);
            orgInfoDtoBuilder.departmentList(departmentList);
            // 5 根据 orgId 获取 DepartmentEmployee信息
            List<DepartmentEmployeeEntity> departmentEmployeeList = departmentEmployeeService.findInfoByOrgId(orgId);
            orgInfoDtoBuilder.departmentEmployeeList(departmentEmployeeList);
            // 6 根据 orgId 获取 EmployeeRole信息
            List<EmployeeRoleEntity> employeeRoleList = employeeRoleService.findInfoByOrgId(orgId);
            orgInfoDtoBuilder.employeeRoleList(employeeRoleList);
            // 7 整理数据 将用户安排到 组织下面
            return orgInfoDtoBuilder.build();
        } catch (Exception e) {
            log.error("=======从理财师机构版 数据库中 获取组织及用户 信息 方法出错-->{}======", e.getMessage());
            throw new Exception("同步失败,-->" + e.getMessage());
        }
    }

    /**
344 345 346 347
     * @description: 根据精业展业的机构code 获取精业展业的 机构及人员信息列表
     * @Author: zejia zj wu
     * @date: 2021/5/27 3:12 下午
     */
吴泽佳's avatar
吴泽佳 committed
348 349 350 351 352 353 354
    private List<JyzyTeamDto> getJyzyTeamByOrgCode(String jyzyOrgCode) throws Exception {
        try {
            // 1 根据orgcode 获取机构信息
            JyzyOrgEntity jyzyOrg = jyzyOrgService.getOrgByOrgCode(jyzyOrgCode);
            if (ObjectUtil.isEmpty(jyzyOrg) || StrUtil.isBlank(jyzyOrg.getId())) {
                throw new Exception("jyzyOrgCode 不存在");
            }
355
            // 2 根据 orgId 获取 团队信息 (不包含虚拟组织)
吴泽佳's avatar
吴泽佳 committed
356
            List<JyzyTeamEntity> jyzyTeamList = jyzyTeamService.getTeamListByOrgId(jyzyOrg.getId());
357
            // 3 根据 orgId 获取 用户信息 (包含虚拟组织下面的用户)
吴泽佳's avatar
吴泽佳 committed
358
            List<JyzyUserInfoEntity> userInfoList = jyzyUserInfoService.getUserListByOrgId(jyzyOrg.getId());
359
            // 4 整理数据 将用户安排到 组织下面 (去除虚拟组织下的用户)
吴泽佳's avatar
吴泽佳 committed
360
            return jyzyTeamList.stream().map(jyzyTeam -> JyzyTeamDto.builder()
361 362 363
                    .jyzyTeam(jyzyTeam)
                    .jyzyUserInfos(userInfoList.stream().filter(jyzyUserInfo -> jyzyUserInfo.getTeamId().equals(jyzyTeam.getId())).collect(Collectors.toList()))
                    .build()).collect(Collectors.toList());
吴泽佳's avatar
吴泽佳 committed
364 365 366 367 368 369
        } catch (Exception e) {
            log.error("=======从精业展业 数据库中 获取组织及用户 信息 方法出错-->{}======", e.getMessage());
            throw new Exception("同步失败,-->" + e.getMessage());
        }
    }

吴泽佳's avatar
吴泽佳 committed
370
}