Commit de5b9241 authored by 吴泽佳's avatar 吴泽佳

删除 service 接口

parent c2cfb1ac
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import java.util.ArrayList;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.dto.DepartmentEmployeeDTO; import com.tanpu.feo.feojob.dto.DepartmentEmployeeDTO;
import com.tanpu.feo.feojob.entity.DepartmentEmployeeEntity; import com.tanpu.feo.feojob.entity.DepartmentEmployeeEntity;
import com.tanpu.feo.feojob.mapper.DepartmentEmployeeMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List; import lombok.extern.slf4j.Slf4j;
import cn.hutool.core.bean.BeanUtil;
/** /**
* 部门员工关系表Service * 部门员工关系表ServiceImp
* *
* @author zejia zj wu 2021年05月18日 * @author zejia zj wu 2021年05月18日
* @version 1.0 * @version 1.0
**/ */
public interface DepartmentEmployeeService { @Service("departmentEmployeeService")
@Slf4j
public class DepartmentEmployeeService {
DepartmentEmployeeDTO selectById(String id);
@Autowired
List<DepartmentEmployeeDTO> selectListByObject(DepartmentEmployeeDTO departmentEmployeeDTO); private DepartmentEmployeeMapper departmentEmployeeMapper;
List<DepartmentEmployeeEntity> findInfoByOrgId(String orgId);
public DepartmentEmployeeDTO selectById(String id) {
DepartmentEmployeeEntity departmentEmployee = departmentEmployeeMapper.selectById(id);
return BeanUtil.toBean(departmentEmployee, DepartmentEmployeeDTO.class);
}
public List<DepartmentEmployeeDTO> selectListByObject(DepartmentEmployeeDTO departmentEmployeeDTO) {
DepartmentEmployeeEntity departmentEmployee = BeanUtil.toBean(departmentEmployeeDTO, DepartmentEmployeeEntity.class);
QueryWrapper queryWrapper = new QueryWrapper<>(departmentEmployee);
List<DepartmentEmployeeEntity> departmentEmployeeList = departmentEmployeeMapper.selectList(queryWrapper);
List<DepartmentEmployeeDTO> departmentEmployeeDtoList = new ArrayList<>();
departmentEmployeeList.forEach(departmentEmployeeEntity -> {
departmentEmployeeDtoList.add(BeanUtil.toBean(departmentEmployeeEntity, DepartmentEmployeeDTO.class));
});
return departmentEmployeeDtoList;
}
public List<DepartmentEmployeeEntity> findInfoByOrgId(String orgId) {
return departmentEmployeeMapper.selectList(Wrappers.lambdaQuery(DepartmentEmployeeEntity.class).eq(DepartmentEmployeeEntity::getOrgId, orgId).eq(DepartmentEmployeeEntity::getDeleteTag, "0"));
}
} }
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.DepartmentEntity; import com.tanpu.feo.feojob.entity.DepartmentEntity;
import com.tanpu.feo.feojob.mapper.DepartmentMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
/** /**
* 部门信息表Service * 部门信息表ServiceImp
* *
* @author zejia zj wu 2021年05月18日 * @author zejia zj wu 2021年05月18日
* @version 1.0 * @version 1.0
**/ */
public interface DepartmentService { @Service("departmentService")
@Slf4j
public class DepartmentService {
@Autowired
private DepartmentMapper departmentMapper;
List<DepartmentEntity> findDepartmentByOrgId(String orgId); public List<DepartmentEntity> findDepartmentByOrgId(String orgId) {
return departmentMapper.selectList(Wrappers.lambdaQuery(DepartmentEntity.class).eq(DepartmentEntity::getOrgId, orgId).eq(DepartmentEntity::getDeleteTag,"0"));
}
} }
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import com.tanpu.feo.feojob.entity.EmployeeRoleEntity;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.tanpu.feo.feojob.entity.EmployeeRoleEntity;
import com.tanpu.feo.feojob.mapper.EmployeeRoleMapper;
import lombok.extern.slf4j.Slf4j;
/** /**
* 员工角色关系表Service * 员工角色关系表ServiceImp
* *
* @author zejia zj wu 2021年05月18日 * @author zejia zj wu 2021年05月18日
* @version 1.0 * @version 1.0
**/ */
public interface EmployeeRoleService { @Service("employeeRoleService")
@Slf4j
public class EmployeeRoleService {
@Autowired
private EmployeeRoleMapper employeeRoleMapper;
List<EmployeeRoleEntity> findInfoByOrgId(String orgId); public List<EmployeeRoleEntity> findInfoByOrgId(String orgId) {
return employeeRoleMapper.selectList(Wrappers.lambdaQuery(EmployeeRoleEntity.class).eq(EmployeeRoleEntity::getOrgId, orgId).eq(EmployeeRoleEntity::getDeleteTag,"0"));
}
List<String> findInfoByOrgIdAndAdmin(String orgId,String m); public List<String> findInfoByOrgIdAndAdmin(String orgId, String roleId) {
List<EmployeeRoleEntity> employeeRoleList = employeeRoleMapper.selectList(Wrappers.lambdaQuery(EmployeeRoleEntity.class).eq(EmployeeRoleEntity::getOrgId, orgId).eq(EmployeeRoleEntity::getDeleteTag,"0").eq(EmployeeRoleEntity::getRoleId, roleId));
List<String> employeeIdList = employeeRoleList.stream().map(employeeRoleEntity -> employeeRoleEntity.getEmployeeId()).collect(Collectors.toList());
return employeeIdList;
}
} }
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.EmployeeEntity; import com.tanpu.feo.feojob.entity.EmployeeEntity;
import com.tanpu.feo.feojob.mapper.EmployeeMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
/** /**
* 员工信息表Service * 员工信息表ServiceImp
* *
* @author zejia zj wu 2021年05月18日 * @author zejia zj wu 2021年05月18日
* @version 1.0 * @version 1.0
**/ */
public interface EmployeeService { @Service("employeeService")
@Slf4j
public class EmployeeService {
@Autowired
private EmployeeMapper employeeMapper;
List<EmployeeEntity> getEmployeeSListByOrgId(String orgId); public List<EmployeeEntity> getEmployeeSListByOrgId(String orgId) {
return employeeMapper.selectList(Wrappers.lambdaQuery(EmployeeEntity.class).eq(EmployeeEntity::getOrgId, orgId).eq(EmployeeEntity::getDeleteTag,"0"));
}
} }
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.tanpu.feo.feojob.entity.IfaAssetsEntity; import com.tanpu.feo.feojob.entity.IfaAssetsEntity;
import com.tanpu.feo.feojob.mapper.IfaAssetsMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/** /**
* Service * ServiceImp
* *
* @author zejia zj wu 2021年05月19日 * @author zejia zj wu 2021年05月19日
* @version 1.0 * @version 1.0
**/ */
public interface IfaAssetsService { @Service("ifaAssetsService")
@Slf4j
@DS("feo_diagnose")
public class IfaAssetsService {
IfaAssetsEntity findById(String s); @Autowired
private IfaAssetsMapper ifaAssetsMapper;
void insertIfaAssets(IfaAssetsEntity ifaAssets);
public IfaAssetsEntity findById(String s) {
return ifaAssetsMapper.selectById(s);
}
@DS("feo_diagnose")
public void insertIfaAssets(IfaAssetsEntity ifaAssets) {
ifaAssetsMapper.insert(ifaAssets);
}
} }
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.JyzyOrgEntity; import com.tanpu.feo.feojob.entity.JyzyOrgEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.tanpu.feo.feojob.mapper.JyzyOrgMapper;
import lombok.extern.slf4j.Slf4j;
/** /**
* Service * ServiceImp
* *
* @author zejia zj wu 2021年05月26日 * @author zejia zj wu 2021年05月26日
* @version 1.0 * @version 1.0
**/ */
public interface JyzyOrgService { @Service("JyzyOrgService")
@Slf4j
@DS("z_user")
public class JyzyOrgService {
@Autowired
private JyzyOrgMapper jyzyOrgMapper;
JyzyOrgEntity getOrgByOrgCode(String jyzyOrgCode); public JyzyOrgEntity getOrgByOrgCode(String jyzyOrgCode) {
LambdaQueryWrapper<JyzyOrgEntity> jyzyOrgLambdaQueryWrapper = Wrappers.lambdaQuery(JyzyOrgEntity.class);
jyzyOrgLambdaQueryWrapper.eq(JyzyOrgEntity::getOrgCode, jyzyOrgCode).eq(JyzyOrgEntity::getDeleteTag, 0);
return jyzyOrgMapper.selectOne(jyzyOrgLambdaQueryWrapper);
}
} }
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.JyzyTeamEntity; import com.tanpu.feo.feojob.entity.JyzyTeamEntity;
import com.tanpu.feo.feojob.mapper.JyzyTeamMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import java.util.List; import java.util.List;
/** /**
* Service * ServiceImp
* *
* @author zejia zj wu 2021年05月26日 * @author zejia zj wu 2021年05月26日
* @version 1.0 * @version 1.0
**/ */
public interface JyzyTeamService { @Service("JyzyTeamService")
@Slf4j
@DS("z_user")
public class JyzyTeamService {
@Autowired
private JyzyTeamMapper JyzyTeamMapper;
List<JyzyTeamEntity> getTeamListByOrgId(String orgId); public List<JyzyTeamEntity> getTeamListByOrgId(String orgId) {
} LambdaQueryWrapper<JyzyTeamEntity> queryWrapper = Wrappers.lambdaQuery(JyzyTeamEntity.class).eq(JyzyTeamEntity::getOrgId, orgId).eq(JyzyTeamEntity::getDeleteTag, 0).eq(JyzyTeamEntity::getTeamCategory, 1);
return JyzyTeamMapper.selectList(queryWrapper);
}
}
\ No newline at end of file
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.JyzyUserInfoEntity; import com.tanpu.feo.feojob.entity.JyzyUserInfoEntity;
import com.tanpu.feo.feojob.mapper.JyzyUserInfoMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import java.util.List; import java.util.List;
/** /**
* Service * ServiceImp
* *
* @author zejia zj wu 2021年05月26日 * @author zejia zj wu 2021年05月26日
* @version 1.0 * @version 1.0
**/ */
public interface JyzyUserInfoService { @Service("JyzyUserInfoService")
@Slf4j
@DS("z_user")
public class JyzyUserInfoService {
@Autowired
private JyzyUserInfoMapper JyzyUserInfoMapper;
List<JyzyUserInfoEntity> getUserListByOrgId(String orgId); public List<JyzyUserInfoEntity> getUserListByOrgId(String orgId) {
} LambdaQueryWrapper<JyzyUserInfoEntity> queryWrapper = Wrappers.lambdaQuery(JyzyUserInfoEntity.class).eq(JyzyUserInfoEntity::getOrgId, orgId)
.eq(JyzyUserInfoEntity::getDeletetag, "0").ne(JyzyUserInfoEntity::getUiShenfen, 2);
return JyzyUserInfoMapper.selectList(queryWrapper);
}
}
\ No newline at end of file
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.OrgExtEntity; import com.tanpu.feo.feojob.entity.OrgExtEntity;
import com.tanpu.feo.feojob.mapper.OrgExtMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* 机构扩展信息表Service * 机构扩展信息表ServiceImp
* *
* @author zejia zj wu 2021年05月18日 * @author zejia zj wu 2021年05月18日
* @version 1.0 * @version 1.0
**/ */
public interface OrgExtService { @Service("orgExtService")
@Slf4j
public class OrgExtService {
/** @Autowired
* @Description: 查找需要 进行 同步的机构 private OrgExtMapper orgExtMapper;
* @Param:
* @return:
* @Author: zejia zj wu
* @Date: 2021/5/18
*/
List<OrgExtEntity> findOrgExtByAyto();
/**
* @Description: 根据ID 修改数据 public List<OrgExtEntity> findOrgExtByAyto() {
* @Param: return orgExtMapper.selectList(Wrappers.lambdaQuery(OrgExtEntity.class).eq(OrgExtEntity::getModel,"1").eq(OrgExtEntity::getDeleteTag,"0"));
* @return: }
* @Author: zejia zj wu
* @Date: 2021/5/19 @Transactional
*/ public void updataById(OrgExtEntity orgExt) {
void updataById(OrgExtEntity orgExtEntity); orgExt.setUpdateBy("SYS");
orgExt.setUpdateTime(new Date());
orgExtMapper.updateById(orgExt);
}
} }
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.tanpu.feo.feojob.entity.OrgEntity; import com.tanpu.feo.feojob.entity.OrgEntity;
import com.tanpu.feo.feojob.mapper.OrgMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/** /**
* Service * ServiceImp
* *
* @author zejia zj wu 2021年05月18日 * @author zejia zj wu 2021年05月18日
* @version 1.0 * @version 1.0
**/ */
public interface OrgService { @Service("orgService")
@Slf4j
public class OrgService {
@Autowired
private OrgMapper orgMapper;
/** public OrgEntity findById(String orgId) {
* @Description: 根据orgId 查找单条org OrgEntity org = orgMapper.selectById(orgId);
* @Param: return org;
* @return: }
* @Author: zejia zj wu
* @Date: 2021/5/18
*/
OrgEntity findById(String orgId);
/** public OrgEntity findByOrgCode(String feoOrgCode) {
* @Description: 根据orgCode 获取org return orgMapper.selectOne(new LambdaQueryWrapper<>(OrgEntity.class).eq(OrgEntity::getOrgCode, feoOrgCode).eq(OrgEntity::getDeleteTag, "0"));
* @Param: }
* @return:
* @Author: zejia zj wu
* @Date: 2021/5/26
*/
OrgEntity findByOrgCode(String feoOrgCode);
} }
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.fengwenyi.api.result.ResultTemplate; import com.fengwenyi.api.result.ResultTemplate;
import com.tanpu.feo.feojob.dto.JyzyTeamDto;
import com.tanpu.feo.feojob.dto.OrgInfoDto;
import com.tanpu.feo.feojob.dto.OrgSyncDto; import com.tanpu.feo.feojob.dto.OrgSyncDto;
import com.tanpu.feo.feojob.dto.WorkDataDto;
import com.tanpu.feo.feojob.entity.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
public interface OrgSyncByJyzyService { import javax.annotation.Resource;
/** import java.util.ArrayList;
* @Description: 从精业展业 同步 组织及人员信息 import java.util.HashMap;
* @Param: import java.util.List;
* @return: 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 OrgSyncByWxcpService orgSyncByWxcpService;
@Resource
private IfaAssetsService ifaAssetsService;
@Resource
private JyzyOrgService jyzyOrgService;
@Resource
private JyzyTeamService jyzyTeamService;
@Resource
private JyzyUserInfoService jyzyUserInfoService;
@Resource
private OrgSyncService orgSyncService;
public ResultTemplate<String> orgSyncByJyzy(OrgSyncDto orgSyncDto) {
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 数据操作
// orgSyncService.updateData(orgInfoDto.getOrgId(), workUserInfo, workEmployee, workDepartment, workDepartmentEmployee, workEmployeeRole);
} catch (Exception e) {
return ResultTemplate.fail(e.getMessage());
}
return ResultTemplate.success("同步成功");
}
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("======开始数据对比======");
HashMap<String, JyzyUserInfoEntity> jyzyUserInfoHashMap = new HashMap<>();
jyzyTeamDtoList.forEach(jyzyTeamDto -> jyzyTeamDto.getJyzyUserInfos().forEach(jyzyUserInfo -> jyzyUserInfoHashMap.put(jyzyUserInfo.getId(), jyzyUserInfo)));
// 1 user_info
List<UserInfoEntity> insertUserInfoList = new ArrayList<>();
List<UserInfoEntity> deleteUserInfoList = new ArrayList<>();
List<UserInfoEntity> updateUserInfoList = new ArrayList<>();
// orgInfoDto.getUserInfoList().forEach(userInfo -> {
// JyzyUserInfo jyzyUserInfo = jyzyUserInfoHashMap.get(userInfo.getId());
// // 删除
// if (ObjectUtil.isNull(jyzyUserInfo)) {
// deleteUserInfoList.add(userInfo);
// return; // 跳过当前循环
// }
// // 更新
// if (!jyzyUserInfo.getMD5().equals(userInfo.getMD5())) {
// userInfo.updata(jyzyUserInfo);
// updateUserInfoList.add(userInfo);
// }
// jyzyUserInfoHashMap.remove(userInfo.getId());
// });
// jyzyUserInfoHashMap.forEach((key, jyzyUserInfo) -> {
// // 新增
// UserInfo userInfo = new UserInfo(jyzyUserInfo);
// insertUserInfoList.add(userInfo);
// });
workUserInfo.setDeleteList(deleteUserInfoList);
workUserInfo.setInsertList(insertUserInfoList);
workUserInfo.setUpdateList(updateUserInfoList);
log.info("======结束数据对比======");
}
/**
* @description: 根据理财师机构版的机构code 获取其的 机构及用户信息列表
* @Author: zejia zj wu * @Author: zejia zj wu
* @Date: 2021/5/26 * @date: 2021/5/27 3:13 下午
*/ */
ResultTemplate<String> orgSyncByJyzy(OrgSyncDto orgSyncDto); 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());
}
}
/**
* @description: 根据精业展业的机构code 获取精业展业的 机构及人员信息列表
* @Author: zejia zj wu
* @date: 2021/5/27 3:12 下午
*/
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 不存在");
}
// 2 根据 orgId 获取 团队信息
List<JyzyTeamEntity> jyzyTeamList = jyzyTeamService.getTeamListByOrgId(jyzyOrg.getId());
// 3 根据 orgId 获取 用户信息
List<JyzyUserInfoEntity> userInfoList = jyzyUserInfoService.getUserListByOrgId(jyzyOrg.getId());
// 4 整理数据 将用户安排到 组织下面
return jyzyTeamList.stream().map(jyzyTeam -> JyzyTeamDto.builder()
.jyzyTeam(jyzyTeam).jyzyUserInfos(
userInfoList.stream().filter(jyzyUserInfo -> jyzyUserInfo.getTeamId().equals(jyzyTeam.getId())).collect(Collectors.toList())
).build()).collect(Collectors.toList());
} catch (Exception e) {
log.error("=======从精业展业 数据库中 获取组织及用户 信息 方法出错-->{}======", e.getMessage());
throw new Exception("同步失败,-->" + e.getMessage());
}
}
} }
...@@ -2,18 +2,171 @@ package com.tanpu.feo.feojob.service; ...@@ -2,18 +2,171 @@ package com.tanpu.feo.feojob.service;
import com.tanpu.feo.feojob.dto.WorkDataDto; import com.tanpu.feo.feojob.dto.WorkDataDto;
import com.tanpu.feo.feojob.entity.*; import com.tanpu.feo.feojob.entity.*;
import com.tanpu.feo.feojob.mapper.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
public interface OrgSyncByWxcpService { @Service
@Slf4j
/** public class OrgSyncByWxcpService {
* @Description: 机构、用户同步 增删改操作 @Resource
* @Param: private UserInfoMapper userInfoMapper;
* @return: @Resource
* @Author: zejia zj wu private DepartmentMapper departmentMapper;
* @Date: 2021/5/27 @Resource
*/ private DepartmentEmployeeMapper departmentEmployeeMapper;
List<IfaAssetsEntity> execute(WorkDataDto<UserInfoEntity> workUserInfo, WorkDataDto<EmployeeEntity> workEmployee, WorkDataDto<DepartmentEntity> workDepartment, @Resource
WorkDataDto<DepartmentEmployeeEntity> workDepartmentEmployee, WorkDataDto<EmployeeRoleEntity> workEmployeeRole); private EmployeeMapper employeeMapper;
@Resource
private EmployeeRoleMapper employeeRoleMapper;
@Transactional
public List<IfaAssetsEntity> execute(WorkDataDto<UserInfoEntity> workUserInfo, WorkDataDto<EmployeeEntity> workEmployee, WorkDataDto<DepartmentEntity> workDepartment,
WorkDataDto<DepartmentEmployeeEntity> workDepartmentEmployee, WorkDataDto<EmployeeRoleEntity> workEmployeeRole) {
ArrayList<IfaAssetsEntity> assetsArrayList = new ArrayList<>();
Date now = new Date();
log.info("==========开始 执行数据修改==========");
// 1
List<UserInfoEntity> workUserInfoInsertList = workUserInfo.getInsertList();
for (UserInfoEntity userInfoEntity : workUserInfoInsertList) {
userInfoEntity.setCreateby("SYS");
userInfoEntity.setCreatetime(now);
userInfoEntity.setUpdateby("SYS");
userInfoEntity.setUpdatetime(now);
userInfoEntity.setDeletetag("0");
userInfoMapper.insert(userInfoEntity);
}
List<UserInfoEntity> workUserInfoUpdateList = workUserInfo.getUpdateList();
for (UserInfoEntity userInfoEntity : workUserInfoUpdateList) {
userInfoEntity.setUpdateby("SYS");
userInfoEntity.setUpdatetime(now);
userInfoEntity.setDeletetag("0");
userInfoMapper.updateById(userInfoEntity);
}
List<UserInfoEntity> workUserInfoDeleteList = workUserInfo.getDeleteList();
for (UserInfoEntity userInfoEntity : workUserInfoDeleteList) {
userInfoEntity.setUpdateby("SYS");
userInfoEntity.setUpdatetime(now);
userInfoEntity.setDeletetag("1");
userInfoMapper.updateById(userInfoEntity);
}
//2
List<EmployeeEntity> workEmployeeInsertList = workEmployee.getInsertList();
for (EmployeeEntity employeeEntity : workEmployeeInsertList) {
employeeEntity.setCreateBy("SYS");
employeeEntity.setCreateTime(now);
employeeEntity.setUpdateBy("SYS");
employeeEntity.setUpdateTime(now);
employeeEntity.setDeleteTag("0");
employeeMapper.insert(employeeEntity);
IfaAssetsEntity ifaAssetsEntity = new IfaAssetsEntity();
ifaAssetsEntity.setIfaId(employeeEntity.getEmployeeId());
ifaAssetsEntity.setId(employeeEntity.getEmployeeId());
ifaAssetsEntity.setCreateTime(now);
ifaAssetsEntity.setCreateBy("SYS");
ifaAssetsEntity.setUpdateTime(now);
ifaAssetsEntity.setUpdateBy("SYS");
ifaAssetsEntity.setDeleteTag("0");
assetsArrayList.add(ifaAssetsEntity);
// ifaAssetsService.insertIfaAssets(ifaAssetsEntity);
}
List<EmployeeEntity> workEmployeeDeleteList = workEmployee.getDeleteList();
for (EmployeeEntity employeeEntity : workEmployeeDeleteList) {
employeeEntity.setUpdateBy("SYS");
employeeEntity.setUpdateTime(now);
employeeEntity.setDeleteTag("1");
employeeMapper.updateById(employeeEntity);
}
List<EmployeeEntity> workEmployeeUpdateList = workEmployee.getUpdateList();
for (EmployeeEntity employeeEntity : workEmployeeUpdateList) {
employeeEntity.setUpdateBy("SYS");
employeeEntity.setUpdateTime(now);
employeeEntity.setDeleteTag("0");
employeeMapper.updateById(employeeEntity);
}
//3
List<DepartmentEntity> workDepartmentInsertList = workDepartment.getInsertList();
for (DepartmentEntity departmentEntity : workDepartmentInsertList) {
departmentEntity.setCreateBy("SYS");
departmentEntity.setCreateTime(now);
departmentEntity.setUpdateBy("SYS");
departmentEntity.setUpdateTime(now);
departmentEntity.setDeleteTag("0");
departmentMapper.insert(departmentEntity);
}
List<DepartmentEntity> workDepartmentDeleteList = workDepartment.getDeleteList();
for (DepartmentEntity departmentEntity : workDepartmentDeleteList) {
departmentEntity.setUpdateBy("SYS");
departmentEntity.setUpdateTime(now);
departmentEntity.setDeleteTag("1");
departmentMapper.updateById(departmentEntity);
}
List<DepartmentEntity> workDepartmentUpdateList = workDepartment.getUpdateList();
for (DepartmentEntity departmentEntity : workDepartmentUpdateList) {
departmentEntity.setUpdateBy("SYS");
departmentEntity.setUpdateTime(now);
departmentEntity.setDeleteTag("0");
departmentMapper.updateById(departmentEntity);
}
//4
List<DepartmentEmployeeEntity> workDepartmentEmployeeInsertList = workDepartmentEmployee.getInsertList();
for (DepartmentEmployeeEntity departmentEmployeeEntity : workDepartmentEmployeeInsertList) {
departmentEmployeeEntity.setCreateBy("SYS");
departmentEmployeeEntity.setCreateTime(now);
departmentEmployeeEntity.setUpdateBy("SYS");
departmentEmployeeEntity.setUpdateTime(now);
departmentEmployeeEntity.setDeleteTag("0");
departmentEmployeeMapper.insert(departmentEmployeeEntity);
}
List<DepartmentEmployeeEntity> workDepartmentEmployeeDeleteList = workDepartmentEmployee.getDeleteList();
for (DepartmentEmployeeEntity departmentEmployeeEntity : workDepartmentEmployeeDeleteList) {
departmentEmployeeEntity.setUpdateBy("SYS");
departmentEmployeeEntity.setUpdateTime(now);
departmentEmployeeEntity.setDeleteTag("1");
departmentEmployeeMapper.updateById(departmentEmployeeEntity);
}
List<DepartmentEmployeeEntity> workDepartmentEmployeeUpdateList = workDepartmentEmployee.getUpdateList();
for (DepartmentEmployeeEntity departmentEmployeeEntity : workDepartmentEmployeeUpdateList) {
departmentEmployeeEntity.setUpdateBy("SYS");
departmentEmployeeEntity.setUpdateTime(now);
departmentEmployeeEntity.setDeleteTag("0");
departmentEmployeeMapper.updateById(departmentEmployeeEntity);
}
//5
List<EmployeeRoleEntity> workEmployeeRoleInsertList = workEmployeeRole.getInsertList();
for (EmployeeRoleEntity employeeRoleEntity : workEmployeeRoleInsertList) {
employeeRoleEntity.setCreateBy("SYS");
employeeRoleEntity.setCreateTime(now);
employeeRoleEntity.setUpdateBy("SYS");
employeeRoleEntity.setUpdateTime(now);
employeeRoleEntity.setDeleteTag("0");
employeeRoleMapper.insert(employeeRoleEntity);
}
List<EmployeeRoleEntity> workEmployeeRoleDeleteList = workEmployeeRole.getDeleteList();
for (EmployeeRoleEntity employeeRoleEntity : workEmployeeRoleDeleteList) {
employeeRoleEntity.setUpdateBy("SYS");
employeeRoleEntity.setUpdateTime(now);
employeeRoleEntity.setDeleteTag("1");
employeeRoleMapper.updateById(employeeRoleEntity);
}
List<EmployeeRoleEntity> workEmployeeRoleUpdateList = workEmployeeRole.getUpdateList();
for (EmployeeRoleEntity employeeRoleEntity : workEmployeeRoleUpdateList) {
employeeRoleEntity.setUpdateBy("SYS");
employeeRoleEntity.setUpdateTime(now);
employeeRoleEntity.setDeleteTag("0");
employeeRoleMapper.updateById(employeeRoleEntity);
}
log.info("==========结束 执行数据修改==========");
return assetsArrayList;
}
} }
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.tanpu.feo.feojob.dto.WorkDataDto; import com.tanpu.feo.feojob.dto.WorkDataDto;
import com.tanpu.feo.feojob.entity.*; import com.tanpu.feo.feojob.entity.*;
import com.tanpu.feo.feojob.service.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@Service
@Slf4j
public class OrgSyncService {
@Resource
private OrgSyncByWxcpService orgSyncByWxcpService;
@Resource
private IfaAssetsService ifaAssetsService;
@Resource
private EmployeeRoleService employeeRoleService;
@Resource
private RoleService roleService;
@Value("${wx.xcxqrcode}")
String qrcodeurl;
@Value("${user.wxDefaultImg}")
String wxDefaultImg;
@Resource
private RestTemplate restTemplate;
public void updateData(String orgId, WorkDataDto<UserInfoEntity> workUserInfo, WorkDataDto<EmployeeEntity> workEmployee, WorkDataDto<DepartmentEntity> workDepartment,
WorkDataDto<DepartmentEmployeeEntity> workDepartmentEmployee, WorkDataDto<EmployeeRoleEntity> workEmployeeRole) {
//1 删除列表中 管理员 用户信息
log.info("=======开始 删除管理员用户信息======");
deleteAdmin(orgId, workUserInfo, workEmployee, workEmployeeRole);
log.info("=======结束 删除管理员用户信息======");
log.info("==========workUserInfo==========");
log.info(JSONUtil.toJsonStr(workUserInfo));
log.info("==========workEmployee==========");
log.info(JSONUtil.toJsonStr(workEmployee));
log.info("==========workDepartment===========");
log.info(JSONUtil.toJsonStr(workDepartment));
log.info("==========workDepartmentEmployee=========");
log.info(JSONUtil.toJsonStr(workDepartmentEmployee));
log.info("==========workEmployeeRole=========");
log.info(JSONUtil.toJsonStr(workEmployeeRole));
log.info("==================================");
//2 执行 增删改
List<IfaAssetsEntity> execute = orgSyncByWxcpService.execute(workUserInfo, workEmployee, workDepartment, workDepartmentEmployee, workEmployeeRole);
for (IfaAssetsEntity ifaAssets : execute) {
try {
ifaAssetsService.insertIfaAssets(ifaAssets);
} catch (Exception e) {
log.info("======往ifaAssets写数据错误->用户ID:{} -> 错误信息-> {}======", ifaAssets.getIfaId(), e.getMessage());
}
}
}
public String createWechatXcxQrcode(String userId, String headImg) {
if (StrUtil.isBlank(headImg)) {
headImg = wxDefaultImg;
}
String res = restTemplate.getForObject(qrcodeurl + "?userId=" + userId + "&headimage=" + headImg + "&params=" + userId, String.class);
JSONObject jsonObject = JSONUtil.parseObj(res);
String url = null;
try {
String statusCode = (String) jsonObject.get("statusCode");
if ("0000".equals(statusCode)) {
url = (String) jsonObject.get("attributes");
}
} catch (Exception e) {
log.error("======用户:{} 生成小程序二维码失败: {}======", userId, e.getMessage());
}
return url;
}
private void deleteAdmin(String orgId, WorkDataDto<UserInfoEntity> workUserInfo, WorkDataDto<EmployeeEntity> workEmployee, WorkDataDto<EmployeeRoleEntity> workEmployeeRole) {
// 获取 role
Map<String, String> roleMap = roleService.findInfoNoAdmin();
// 获取 admin 的员工id
List<String> employeeIdList = employeeRoleService.findInfoByOrgIdAndAdmin(orgId, roleMap.get("m"));
List<UserInfoEntity> deleteList1 = workUserInfo.getDeleteList();
Iterator<UserInfoEntity> iterator1 = deleteList1.iterator();
while (iterator1.hasNext()) {
UserInfoEntity userInfo = iterator1.next();
for (String s : employeeIdList) {
if (s.equals(userInfo.getId())) {
iterator1.remove();
}
}
}
List<EmployeeEntity> deleteList2 = workEmployee.getDeleteList();
Iterator<EmployeeEntity> iterator2 = deleteList2.iterator();
while (iterator2.hasNext()) {
EmployeeEntity employee = iterator2.next();
for (String s : employeeIdList) {
if (s.equals(employee.getEmployeeId())) {
iterator2.remove();
}
}
}
List<EmployeeRoleEntity> deleteList3 = workEmployeeRole.getDeleteList();
Iterator<EmployeeRoleEntity> iterator3 = deleteList3.iterator();
while (iterator3.hasNext()) {
EmployeeRoleEntity employeeRole = iterator3.next();
for (String s : employeeIdList) {
if (s.equals(employeeRole.getEmployeeId())) {
iterator3.remove();
}
}
}
public interface OrgSyncService { }
/**
* @Description: 机构同步- 数据更新
* @Param:
* @return:
* @Author: zejia zj wu
* @Date: 2021/5/26
*/
void updateData(String orgId, WorkDataDto<UserInfoEntity> workUserInfo, WorkDataDto<EmployeeEntity> workEmployee, WorkDataDto<DepartmentEntity> workDepartment,
WorkDataDto<DepartmentEmployeeEntity> workDepartmentEmployee, WorkDataDto<EmployeeRoleEntity> workEmployeeRole);
/**
* @Description: 生成微信小程序 球形码
* @Param:
* @return:
* @Author: zejia zj wu
* @Date: 2021/5/26
*/
String createWechatXcxQrcode(String userId, String headImageUrl);
} }
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.RoleEntity;
import com.tanpu.feo.feojob.mapper.RoleMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
/** /**
* 角色信息表Service * 角色信息表ServiceImp
* *
* @author zejia zj wu 2021年05月19日 * @author zejia zj wu 2021年05月19日
* @version 1.0 * @version 1.0
**/ */
public interface RoleService { @Service("roleService")
@Slf4j
public class RoleService {
@Autowired
private RoleMapper roleMapper;
Map<String, String> findInfoNoAdmin(); public Map<String, String> findInfoNoAdmin() {
List<RoleEntity> roleEntityList = roleMapper.selectList(Wrappers.lambdaQuery(RoleEntity.class).eq(RoleEntity::getDeleteTag, "0"));
Map<String, String> roleMap = roleEntityList.stream().collect(Collectors.toMap(RoleEntity::getType, RoleEntity::getRoleId));
return roleMap;
}
} }
package com.tanpu.feo.feojob.service; package com.tanpu.feo.feojob.service;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.UserInfoEntity; import com.tanpu.feo.feojob.entity.UserInfoEntity;
import com.tanpu.feo.feojob.mapper.UserInfoMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
/** /**
* Service * ServiceImp
* *
* @author zejia zj wu 2021年05月18日 * @author zejia zj wu 2021年05月18日
* @version 1.0 * @version 1.0
**/ */
public interface UserInfoService { @Service("userInfoService")
@Slf4j
public class UserInfoService {
@Autowired
private UserInfoMapper userInfoMapper;
/** public List<UserInfoEntity> getUserInfoListByOrgId(String orgId) {
* @Description: 根据 公司ID 获取用户信息 return userInfoMapper.selectList(Wrappers.lambdaQuery(UserInfoEntity.class).eq(UserInfoEntity::getOrgId, orgId).eq(UserInfoEntity::getDeletetag,"0"));
* @Param: }
* @return:
* @Author: zejia zj wu
* @Date: 2021/5/18
*/
List<UserInfoEntity> getUserInfoListByOrgId(String orgId);
} }
package com.tanpu.feo.feojob.service.impl;
import java.util.ArrayList;
import java.util.List;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.dto.DepartmentEmployeeDTO;
import com.tanpu.feo.feojob.entity.DepartmentEntity;
import com.tanpu.feo.feojob.entity.DepartmentEmployeeEntity;
import com.tanpu.feo.feojob.mapper.DepartmentEmployeeMapper;
import com.tanpu.feo.feojob.service.DepartmentEmployeeService;
import com.tanpu.feo.feojob.web.entity.BaseEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import cn.hutool.core.bean.BeanUtil;
/**
* 部门员工关系表ServiceImp
*
* @author zejia zj wu 2021年05月18日
* @version 1.0
*/
@Service("departmentEmployeeService")
@Slf4j
public class DepartmentEmployeeServiceImpl implements DepartmentEmployeeService {
@Autowired
private DepartmentEmployeeMapper departmentEmployeeMapper;
@Override
public DepartmentEmployeeDTO selectById(String id) {
DepartmentEmployeeEntity departmentEmployee = departmentEmployeeMapper.selectById(id);
return BeanUtil.toBean(departmentEmployee, DepartmentEmployeeDTO.class);
}
@Override
public List<DepartmentEmployeeDTO> selectListByObject(DepartmentEmployeeDTO departmentEmployeeDTO) {
DepartmentEmployeeEntity departmentEmployee = BeanUtil.toBean(departmentEmployeeDTO, DepartmentEmployeeEntity.class);
QueryWrapper queryWrapper = new QueryWrapper<>(departmentEmployee);
List<DepartmentEmployeeEntity> departmentEmployeeList = departmentEmployeeMapper.selectList(queryWrapper);
List<DepartmentEmployeeDTO> departmentEmployeeDtoList = new ArrayList<>();
departmentEmployeeList.forEach(departmentEmployeeEntity -> {
departmentEmployeeDtoList.add(BeanUtil.toBean(departmentEmployeeEntity, DepartmentEmployeeDTO.class));
});
return departmentEmployeeDtoList;
}
@Override
public List<DepartmentEmployeeEntity> findInfoByOrgId(String orgId) {
return departmentEmployeeMapper.selectList(Wrappers.lambdaQuery(DepartmentEmployeeEntity.class).eq(DepartmentEmployeeEntity::getOrgId, orgId).eq(DepartmentEmployeeEntity::getDeleteTag, "0"));
}
}
package com.tanpu.feo.feojob.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.DepartmentEntity;
import com.tanpu.feo.feojob.mapper.DepartmentMapper;
import com.tanpu.feo.feojob.service.DepartmentService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 部门信息表ServiceImp
*
* @author zejia zj wu 2021年05月18日
* @version 1.0
*/
@Service("departmentService")
@Slf4j
public class DepartmentServiceImpl implements DepartmentService {
@Autowired
private DepartmentMapper departmentMapper;
@Override
public List<DepartmentEntity> findDepartmentByOrgId(String orgId) {
return departmentMapper.selectList(Wrappers.lambdaQuery(DepartmentEntity.class).eq(DepartmentEntity::getOrgId, orgId).eq(DepartmentEntity::getDeleteTag,"0"));
}
}
package com.tanpu.feo.feojob.service.impl;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.tanpu.feo.feojob.entity.EmployeeRoleEntity;
import com.tanpu.feo.feojob.mapper.EmployeeRoleMapper;
import com.tanpu.feo.feojob.service.EmployeeRoleService;
import lombok.extern.slf4j.Slf4j;
/**
* 员工角色关系表ServiceImp
*
* @author zejia zj wu 2021年05月18日
* @version 1.0
*/
@Service("employeeRoleService")
@Slf4j
public class EmployeeRoleServiceImpl implements EmployeeRoleService {
@Autowired
private EmployeeRoleMapper employeeRoleMapper;
@Override
public List<EmployeeRoleEntity> findInfoByOrgId(String orgId) {
return employeeRoleMapper.selectList(Wrappers.lambdaQuery(EmployeeRoleEntity.class).eq(EmployeeRoleEntity::getOrgId, orgId).eq(EmployeeRoleEntity::getDeleteTag,"0"));
}
@Override
public List<String> findInfoByOrgIdAndAdmin(String orgId, String roleId) {
List<EmployeeRoleEntity> employeeRoleList = employeeRoleMapper.selectList(Wrappers.lambdaQuery(EmployeeRoleEntity.class).eq(EmployeeRoleEntity::getOrgId, orgId).eq(EmployeeRoleEntity::getDeleteTag,"0").eq(EmployeeRoleEntity::getRoleId, roleId));
List<String> employeeIdList = employeeRoleList.stream().map(employeeRoleEntity -> employeeRoleEntity.getEmployeeId()).collect(Collectors.toList());
return employeeIdList;
}
}
package com.tanpu.feo.feojob.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.EmployeeEntity;
import com.tanpu.feo.feojob.mapper.EmployeeMapper;
import com.tanpu.feo.feojob.service.EmployeeService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* 员工信息表ServiceImp
*
* @author zejia zj wu 2021年05月18日
* @version 1.0
*/
@Service("employeeService")
@Slf4j
public class EmployeeServiceImpl implements EmployeeService {
@Autowired
private EmployeeMapper employeeMapper;
@Override
public List<EmployeeEntity> getEmployeeSListByOrgId(String orgId) {
return employeeMapper.selectList(Wrappers.lambdaQuery(EmployeeEntity.class).eq(EmployeeEntity::getOrgId, orgId).eq(EmployeeEntity::getDeleteTag,"0"));
}
}
package com.tanpu.feo.feojob.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.tanpu.feo.feojob.entity.IfaAssetsEntity;
import com.tanpu.feo.feojob.mapper.IfaAssetsMapper;
import com.tanpu.feo.feojob.service.IfaAssetsService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* ServiceImp
*
* @author zejia zj wu 2021年05月19日
* @version 1.0
*/
@Service("ifaAssetsService")
@Slf4j
@DS("feo_diagnose")
public class IfaAssetsServiceImpl implements IfaAssetsService {
@Autowired
private IfaAssetsMapper ifaAssetsMapper;
@Override
public IfaAssetsEntity findById(String s) {
return ifaAssetsMapper.selectById(s);
}
@Override
@DS("feo_diagnose")
public void insertIfaAssets(IfaAssetsEntity ifaAssets) {
ifaAssetsMapper.insert(ifaAssets);
}
}
package com.tanpu.feo.feojob.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.JyzyOrgEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.tanpu.feo.feojob.mapper.JyzyOrgMapper;
import com.tanpu.feo.feojob.service.JyzyOrgService;
import lombok.extern.slf4j.Slf4j;
/**
* ServiceImp
*
* @author zejia zj wu 2021年05月26日
* @version 1.0
*/
@Service("JyzyOrgService")
@Slf4j
@DS("z_user")
public class JyzyOrgServiceImpl implements JyzyOrgService {
@Autowired
private JyzyOrgMapper jyzyOrgMapper;
@Override
public JyzyOrgEntity getOrgByOrgCode(String jyzyOrgCode) {
LambdaQueryWrapper<JyzyOrgEntity> jyzyOrgLambdaQueryWrapper = Wrappers.lambdaQuery(JyzyOrgEntity.class);
jyzyOrgLambdaQueryWrapper.eq(JyzyOrgEntity::getOrgCode, jyzyOrgCode).eq(JyzyOrgEntity::getDeleteTag, 0);
return jyzyOrgMapper.selectOne(jyzyOrgLambdaQueryWrapper);
}
}
package com.tanpu.feo.feojob.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.JyzyTeamEntity;
import com.tanpu.feo.feojob.mapper.JyzyTeamMapper;
import com.tanpu.feo.feojob.service.JyzyTeamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
/**
* ServiceImp
*
* @author zejia zj wu 2021年05月26日
* @version 1.0
*/
@Service("JyzyTeamService")
@Slf4j
@DS("z_user")
public class JyzyTeamServiceImpl implements JyzyTeamService {
@Autowired
private JyzyTeamMapper JyzyTeamMapper;
@Override
public List<JyzyTeamEntity> getTeamListByOrgId(String orgId) {
LambdaQueryWrapper<JyzyTeamEntity> queryWrapper = Wrappers.lambdaQuery(JyzyTeamEntity.class).eq(JyzyTeamEntity::getOrgId, orgId).eq(JyzyTeamEntity::getDeleteTag, 0).eq(JyzyTeamEntity::getTeamCategory, 1);
return JyzyTeamMapper.selectList(queryWrapper);
}
}
\ No newline at end of file
package com.tanpu.feo.feojob.service.impl;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.JyzyUserInfoEntity;
import com.tanpu.feo.feojob.mapper.JyzyUserInfoMapper;
import com.tanpu.feo.feojob.service.JyzyUserInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
/**
* ServiceImp
*
* @author zejia zj wu 2021年05月26日
* @version 1.0
*/
@Service("JyzyUserInfoService")
@Slf4j
@DS("z_user")
public class JyzyUserInfoServiceImpl implements JyzyUserInfoService {
@Autowired
private JyzyUserInfoMapper JyzyUserInfoMapper;
@Override
public List<JyzyUserInfoEntity> getUserListByOrgId(String orgId) {
LambdaQueryWrapper<JyzyUserInfoEntity> queryWrapper = Wrappers.lambdaQuery(JyzyUserInfoEntity.class).eq(JyzyUserInfoEntity::getOrgId, orgId)
.eq(JyzyUserInfoEntity::getDeletetag, "0").ne(JyzyUserInfoEntity::getUiShenfen, 2);
return JyzyUserInfoMapper.selectList(queryWrapper);
}
}
\ No newline at end of file
package com.tanpu.feo.feojob.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.OrgExtEntity;
import com.tanpu.feo.feojob.mapper.OrgExtMapper;
import com.tanpu.feo.feojob.service.OrgExtService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
/**
* 机构扩展信息表ServiceImp
*
* @author zejia zj wu 2021年05月18日
* @version 1.0
*/
@Service("orgExtService")
@Slf4j
public class OrgExtServiceImpl implements OrgExtService {
@Autowired
private OrgExtMapper orgExtMapper;
@Override
public List<OrgExtEntity> findOrgExtByAyto() {
return orgExtMapper.selectList(Wrappers.lambdaQuery(OrgExtEntity.class).eq(OrgExtEntity::getModel,"1").eq(OrgExtEntity::getDeleteTag,"0"));
}
@Override
@Transactional
public void updataById(OrgExtEntity orgExt) {
orgExt.setUpdateBy("SYS");
orgExt.setUpdateTime(new Date());
orgExtMapper.updateById(orgExt);
}
}
package com.tanpu.feo.feojob.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.tanpu.feo.feojob.entity.OrgEntity;
import com.tanpu.feo.feojob.mapper.OrgMapper;
import com.tanpu.feo.feojob.service.OrgService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* ServiceImp
*
* @author zejia zj wu 2021年05月18日
* @version 1.0
*/
@Service("orgService")
@Slf4j
public class OrgServiceImpl implements OrgService {
@Autowired
private OrgMapper orgMapper;
@Override
public OrgEntity findById(String orgId) {
OrgEntity org = orgMapper.selectById(orgId);
return org;
}
@Override
public OrgEntity findByOrgCode(String feoOrgCode) {
return orgMapper.selectOne(new LambdaQueryWrapper<>(OrgEntity.class).eq(OrgEntity::getOrgCode, feoOrgCode).eq(OrgEntity::getDeleteTag, "0"));
}
}
package com.tanpu.feo.feojob.service.impl;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import com.fengwenyi.api.result.ResultTemplate;
import com.tanpu.feo.feojob.dto.JyzyTeamDto;
import com.tanpu.feo.feojob.dto.OrgInfoDto;
import com.tanpu.feo.feojob.dto.OrgSyncDto;
import com.tanpu.feo.feojob.dto.WorkDataDto;
import com.tanpu.feo.feojob.entity.*;
import com.tanpu.feo.feojob.service.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.stream.Collectors;
@Service
@Slf4j
public class OrgSyncByJyzyServiceImpl implements 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 OrgSyncByWxcpService orgSyncByWxcpService;
@Resource
private IfaAssetsService ifaAssetsService;
@Resource
private JyzyOrgService jyzyOrgService;
@Resource
private JyzyTeamService jyzyTeamService;
@Resource
private JyzyUserInfoService jyzyUserInfoService;
@Resource
private OrgSyncService orgSyncService;
@Override
public ResultTemplate<String> orgSyncByJyzy(OrgSyncDto orgSyncDto) {
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 数据操作
// orgSyncService.updateData(orgInfoDto.getOrgId(), workUserInfo, workEmployee, workDepartment, workDepartmentEmployee, workEmployeeRole);
} catch (Exception e) {
return ResultTemplate.fail(e.getMessage());
}
return ResultTemplate.success("同步成功");
}
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("======开始数据对比======");
HashMap<String, JyzyUserInfoEntity> jyzyUserInfoHashMap = new HashMap<>();
jyzyTeamDtoList.forEach(jyzyTeamDto -> jyzyTeamDto.getJyzyUserInfos().forEach(jyzyUserInfo -> jyzyUserInfoHashMap.put(jyzyUserInfo.getId(), jyzyUserInfo)));
// 1 user_info
List<UserInfoEntity> insertUserInfoList = new ArrayList<>();
List<UserInfoEntity> deleteUserInfoList = new ArrayList<>();
List<UserInfoEntity> updateUserInfoList = new ArrayList<>();
// orgInfoDto.getUserInfoList().forEach(userInfo -> {
// JyzyUserInfo jyzyUserInfo = jyzyUserInfoHashMap.get(userInfo.getId());
// // 删除
// if (ObjectUtil.isNull(jyzyUserInfo)) {
// deleteUserInfoList.add(userInfo);
// return; // 跳过当前循环
// }
// // 更新
// if (!jyzyUserInfo.getMD5().equals(userInfo.getMD5())) {
// userInfo.updata(jyzyUserInfo);
// updateUserInfoList.add(userInfo);
// }
// jyzyUserInfoHashMap.remove(userInfo.getId());
// });
// jyzyUserInfoHashMap.forEach((key, jyzyUserInfo) -> {
// // 新增
// UserInfo userInfo = new UserInfo(jyzyUserInfo);
// insertUserInfoList.add(userInfo);
// });
workUserInfo.setDeleteList(deleteUserInfoList);
workUserInfo.setInsertList(insertUserInfoList);
workUserInfo.setUpdateList(updateUserInfoList);
log.info("======结束数据对比======");
}
/**
* @description: 根据理财师机构版的机构code 获取其的 机构及用户信息列表
* @Author: zejia zj wu
* @date: 2021/5/27 3:13 下午
*/
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());
}
}
/**
* @description: 根据精业展业的机构code 获取精业展业的 机构及人员信息列表
* @Author: zejia zj wu
* @date: 2021/5/27 3:12 下午
*/
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 不存在");
}
// 2 根据 orgId 获取 团队信息
List<JyzyTeamEntity> jyzyTeamList = jyzyTeamService.getTeamListByOrgId(jyzyOrg.getId());
// 3 根据 orgId 获取 用户信息
List<JyzyUserInfoEntity> userInfoList = jyzyUserInfoService.getUserListByOrgId(jyzyOrg.getId());
// 4 整理数据 将用户安排到 组织下面
return jyzyTeamList.stream().map(jyzyTeam -> JyzyTeamDto.builder()
.jyzyTeam(jyzyTeam).jyzyUserInfos(
userInfoList.stream().filter(jyzyUserInfo -> jyzyUserInfo.getTeamId().equals(jyzyTeam.getId())).collect(Collectors.toList())
).build()).collect(Collectors.toList());
} catch (Exception e) {
log.error("=======从精业展业 数据库中 获取组织及用户 信息 方法出错-->{}======", e.getMessage());
throw new Exception("同步失败,-->" + e.getMessage());
}
}
}
package com.tanpu.feo.feojob.service.impl;
import com.tanpu.feo.feojob.dto.WorkDataDto;
import com.tanpu.feo.feojob.entity.*;
import com.tanpu.feo.feojob.mapper.*;
import com.tanpu.feo.feojob.service.OrgSyncByWxcpService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service
@Slf4j
public class OrgSyncByWxcpServiceImpl implements OrgSyncByWxcpService {
@Resource
private UserInfoMapper userInfoMapper;
@Resource
private DepartmentMapper departmentMapper;
@Resource
private DepartmentEmployeeMapper departmentEmployeeMapper;
@Resource
private EmployeeMapper employeeMapper;
@Resource
private EmployeeRoleMapper employeeRoleMapper;
@Transactional
public List<IfaAssetsEntity> execute(WorkDataDto<UserInfoEntity> workUserInfo, WorkDataDto<EmployeeEntity> workEmployee, WorkDataDto<DepartmentEntity> workDepartment,
WorkDataDto<DepartmentEmployeeEntity> workDepartmentEmployee, WorkDataDto<EmployeeRoleEntity> workEmployeeRole) {
ArrayList<IfaAssetsEntity> assetsArrayList = new ArrayList<>();
Date now = new Date();
log.info("==========开始 执行数据修改==========");
// 1
List<UserInfoEntity> workUserInfoInsertList = workUserInfo.getInsertList();
for (UserInfoEntity userInfoEntity : workUserInfoInsertList) {
userInfoEntity.setCreateby("SYS");
userInfoEntity.setCreatetime(now);
userInfoEntity.setUpdateby("SYS");
userInfoEntity.setUpdatetime(now);
userInfoEntity.setDeletetag("0");
userInfoMapper.insert(userInfoEntity);
}
List<UserInfoEntity> workUserInfoUpdateList = workUserInfo.getUpdateList();
for (UserInfoEntity userInfoEntity : workUserInfoUpdateList) {
userInfoEntity.setUpdateby("SYS");
userInfoEntity.setUpdatetime(now);
userInfoEntity.setDeletetag("0");
userInfoMapper.updateById(userInfoEntity);
}
List<UserInfoEntity> workUserInfoDeleteList = workUserInfo.getDeleteList();
for (UserInfoEntity userInfoEntity : workUserInfoDeleteList) {
userInfoEntity.setUpdateby("SYS");
userInfoEntity.setUpdatetime(now);
userInfoEntity.setDeletetag("1");
userInfoMapper.updateById(userInfoEntity);
}
//2
List<EmployeeEntity> workEmployeeInsertList = workEmployee.getInsertList();
for (EmployeeEntity employeeEntity : workEmployeeInsertList) {
employeeEntity.setCreateBy("SYS");
employeeEntity.setCreateTime(now);
employeeEntity.setUpdateBy("SYS");
employeeEntity.setUpdateTime(now);
employeeEntity.setDeleteTag("0");
employeeMapper.insert(employeeEntity);
IfaAssetsEntity ifaAssetsEntity = new IfaAssetsEntity();
ifaAssetsEntity.setIfaId(employeeEntity.getEmployeeId());
ifaAssetsEntity.setId(employeeEntity.getEmployeeId());
ifaAssetsEntity.setCreateTime(now);
ifaAssetsEntity.setCreateBy("SYS");
ifaAssetsEntity.setUpdateTime(now);
ifaAssetsEntity.setUpdateBy("SYS");
ifaAssetsEntity.setDeleteTag("0");
assetsArrayList.add(ifaAssetsEntity);
// ifaAssetsService.insertIfaAssets(ifaAssetsEntity);
}
List<EmployeeEntity> workEmployeeDeleteList = workEmployee.getDeleteList();
for (EmployeeEntity employeeEntity : workEmployeeDeleteList) {
employeeEntity.setUpdateBy("SYS");
employeeEntity.setUpdateTime(now);
employeeEntity.setDeleteTag("1");
employeeMapper.updateById(employeeEntity);
}
List<EmployeeEntity> workEmployeeUpdateList = workEmployee.getUpdateList();
for (EmployeeEntity employeeEntity : workEmployeeUpdateList) {
employeeEntity.setUpdateBy("SYS");
employeeEntity.setUpdateTime(now);
employeeEntity.setDeleteTag("0");
employeeMapper.updateById(employeeEntity);
}
//3
List<DepartmentEntity> workDepartmentInsertList = workDepartment.getInsertList();
for (DepartmentEntity departmentEntity : workDepartmentInsertList) {
departmentEntity.setCreateBy("SYS");
departmentEntity.setCreateTime(now);
departmentEntity.setUpdateBy("SYS");
departmentEntity.setUpdateTime(now);
departmentEntity.setDeleteTag("0");
departmentMapper.insert(departmentEntity);
}
List<DepartmentEntity> workDepartmentDeleteList = workDepartment.getDeleteList();
for (DepartmentEntity departmentEntity : workDepartmentDeleteList) {
departmentEntity.setUpdateBy("SYS");
departmentEntity.setUpdateTime(now);
departmentEntity.setDeleteTag("1");
departmentMapper.updateById(departmentEntity);
}
List<DepartmentEntity> workDepartmentUpdateList = workDepartment.getUpdateList();
for (DepartmentEntity departmentEntity : workDepartmentUpdateList) {
departmentEntity.setUpdateBy("SYS");
departmentEntity.setUpdateTime(now);
departmentEntity.setDeleteTag("0");
departmentMapper.updateById(departmentEntity);
}
//4
List<DepartmentEmployeeEntity> workDepartmentEmployeeInsertList = workDepartmentEmployee.getInsertList();
for (DepartmentEmployeeEntity departmentEmployeeEntity : workDepartmentEmployeeInsertList) {
departmentEmployeeEntity.setCreateBy("SYS");
departmentEmployeeEntity.setCreateTime(now);
departmentEmployeeEntity.setUpdateBy("SYS");
departmentEmployeeEntity.setUpdateTime(now);
departmentEmployeeEntity.setDeleteTag("0");
departmentEmployeeMapper.insert(departmentEmployeeEntity);
}
List<DepartmentEmployeeEntity> workDepartmentEmployeeDeleteList = workDepartmentEmployee.getDeleteList();
for (DepartmentEmployeeEntity departmentEmployeeEntity : workDepartmentEmployeeDeleteList) {
departmentEmployeeEntity.setUpdateBy("SYS");
departmentEmployeeEntity.setUpdateTime(now);
departmentEmployeeEntity.setDeleteTag("1");
departmentEmployeeMapper.updateById(departmentEmployeeEntity);
}
List<DepartmentEmployeeEntity> workDepartmentEmployeeUpdateList = workDepartmentEmployee.getUpdateList();
for (DepartmentEmployeeEntity departmentEmployeeEntity : workDepartmentEmployeeUpdateList) {
departmentEmployeeEntity.setUpdateBy("SYS");
departmentEmployeeEntity.setUpdateTime(now);
departmentEmployeeEntity.setDeleteTag("0");
departmentEmployeeMapper.updateById(departmentEmployeeEntity);
}
//5
List<EmployeeRoleEntity> workEmployeeRoleInsertList = workEmployeeRole.getInsertList();
for (EmployeeRoleEntity employeeRoleEntity : workEmployeeRoleInsertList) {
employeeRoleEntity.setCreateBy("SYS");
employeeRoleEntity.setCreateTime(now);
employeeRoleEntity.setUpdateBy("SYS");
employeeRoleEntity.setUpdateTime(now);
employeeRoleEntity.setDeleteTag("0");
employeeRoleMapper.insert(employeeRoleEntity);
}
List<EmployeeRoleEntity> workEmployeeRoleDeleteList = workEmployeeRole.getDeleteList();
for (EmployeeRoleEntity employeeRoleEntity : workEmployeeRoleDeleteList) {
employeeRoleEntity.setUpdateBy("SYS");
employeeRoleEntity.setUpdateTime(now);
employeeRoleEntity.setDeleteTag("1");
employeeRoleMapper.updateById(employeeRoleEntity);
}
List<EmployeeRoleEntity> workEmployeeRoleUpdateList = workEmployeeRole.getUpdateList();
for (EmployeeRoleEntity employeeRoleEntity : workEmployeeRoleUpdateList) {
employeeRoleEntity.setUpdateBy("SYS");
employeeRoleEntity.setUpdateTime(now);
employeeRoleEntity.setDeleteTag("0");
employeeRoleMapper.updateById(employeeRoleEntity);
}
log.info("==========结束 执行数据修改==========");
return assetsArrayList;
}
}
package com.tanpu.feo.feojob.service.impl;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.tanpu.feo.feojob.dto.WorkDataDto;
import com.tanpu.feo.feojob.entity.*;
import com.tanpu.feo.feojob.service.*;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@Service
@Slf4j
public class OrgSyncServiceImpl implements OrgSyncService {
@Resource
private OrgSyncByWxcpService orgSyncByWxcpService;
@Resource
private IfaAssetsService ifaAssetsService;
@Resource
private EmployeeRoleService employeeRoleService;
@Resource
private RoleService roleService;
@Value("${wx.xcxqrcode}")
String qrcodeurl;
@Value("${user.wxDefaultImg}")
String wxDefaultImg;
@Resource
private RestTemplate restTemplate;
@Override
public void updateData(String orgId, WorkDataDto<UserInfoEntity> workUserInfo, WorkDataDto<EmployeeEntity> workEmployee, WorkDataDto<DepartmentEntity> workDepartment,
WorkDataDto<DepartmentEmployeeEntity> workDepartmentEmployee, WorkDataDto<EmployeeRoleEntity> workEmployeeRole) {
//1 删除列表中 管理员 用户信息
log.info("=======开始 删除管理员用户信息======");
deleteAdmin(orgId, workUserInfo, workEmployee, workEmployeeRole);
log.info("=======结束 删除管理员用户信息======");
log.info("==========workUserInfo==========");
log.info(JSONUtil.toJsonStr(workUserInfo));
log.info("==========workEmployee==========");
log.info(JSONUtil.toJsonStr(workEmployee));
log.info("==========workDepartment===========");
log.info(JSONUtil.toJsonStr(workDepartment));
log.info("==========workDepartmentEmployee=========");
log.info(JSONUtil.toJsonStr(workDepartmentEmployee));
log.info("==========workEmployeeRole=========");
log.info(JSONUtil.toJsonStr(workEmployeeRole));
log.info("==================================");
//2 执行 增删改
List<IfaAssetsEntity> execute = orgSyncByWxcpService.execute(workUserInfo, workEmployee, workDepartment, workDepartmentEmployee, workEmployeeRole);
for (IfaAssetsEntity ifaAssets : execute) {
try {
ifaAssetsService.insertIfaAssets(ifaAssets);
} catch (Exception e) {
log.info("======往ifaAssets写数据错误->用户ID:{} -> 错误信息-> {}======", ifaAssets.getIfaId(), e.getMessage());
}
}
}
@Override
public String createWechatXcxQrcode(String userId, String headImg) {
if (StrUtil.isBlank(headImg)) {
headImg = wxDefaultImg;
}
String res = restTemplate.getForObject(qrcodeurl + "?userId=" + userId + "&headimage=" + headImg + "&params=" + userId, String.class);
JSONObject jsonObject = JSONUtil.parseObj(res);
String url = null;
try {
String statusCode = (String) jsonObject.get("statusCode");
if ("0000".equals(statusCode)) {
url = (String) jsonObject.get("attributes");
}
} catch (Exception e) {
log.error("======用户:{} 生成小程序二维码失败: {}======", userId, e.getMessage());
}
return url;
}
private void deleteAdmin(String orgId, WorkDataDto<UserInfoEntity> workUserInfo, WorkDataDto<EmployeeEntity> workEmployee, WorkDataDto<EmployeeRoleEntity> workEmployeeRole) {
// 获取 role
Map<String, String> roleMap = roleService.findInfoNoAdmin();
// 获取 admin 的员工id
List<String> employeeIdList = employeeRoleService.findInfoByOrgIdAndAdmin(orgId, roleMap.get("m"));
List<UserInfoEntity> deleteList1 = workUserInfo.getDeleteList();
Iterator<UserInfoEntity> iterator1 = deleteList1.iterator();
while (iterator1.hasNext()) {
UserInfoEntity userInfo = iterator1.next();
for (String s : employeeIdList) {
if (s.equals(userInfo.getId())) {
iterator1.remove();
}
}
}
List<EmployeeEntity> deleteList2 = workEmployee.getDeleteList();
Iterator<EmployeeEntity> iterator2 = deleteList2.iterator();
while (iterator2.hasNext()) {
EmployeeEntity employee = iterator2.next();
for (String s : employeeIdList) {
if (s.equals(employee.getEmployeeId())) {
iterator2.remove();
}
}
}
List<EmployeeRoleEntity> deleteList3 = workEmployeeRole.getDeleteList();
Iterator<EmployeeRoleEntity> iterator3 = deleteList3.iterator();
while (iterator3.hasNext()) {
EmployeeRoleEntity employeeRole = iterator3.next();
for (String s : employeeIdList) {
if (s.equals(employeeRole.getEmployeeId())) {
iterator3.remove();
}
}
}
}
}
package com.tanpu.feo.feojob.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.RoleEntity;
import com.tanpu.feo.feojob.mapper.RoleMapper;
import com.tanpu.feo.feojob.service.RoleService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 角色信息表ServiceImp
*
* @author zejia zj wu 2021年05月19日
* @version 1.0
*/
@Service("roleService")
@Slf4j
public class RoleServiceImpl implements RoleService {
@Autowired
private RoleMapper roleMapper;
@Override
public Map<String, String> findInfoNoAdmin() {
List<RoleEntity> roleEntityList = roleMapper.selectList(Wrappers.lambdaQuery(RoleEntity.class).eq(RoleEntity::getDeleteTag, "0"));
Map<String, String> roleMap = roleEntityList.stream().collect(Collectors.toMap(RoleEntity::getType, RoleEntity::getRoleId));
return roleMap;
}
}
package com.tanpu.feo.feojob.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.tanpu.feo.feojob.entity.UserInfoEntity;
import com.tanpu.feo.feojob.mapper.UserInfoMapper;
import com.tanpu.feo.feojob.service.UserInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* ServiceImp
*
* @author zejia zj wu 2021年05月18日
* @version 1.0
*/
@Service("userInfoService")
@Slf4j
public class UserInfoServiceImpl implements UserInfoService {
@Autowired
private UserInfoMapper userInfoMapper;
@Override
public List<UserInfoEntity> getUserInfoListByOrgId(String orgId) {
return userInfoMapper.selectList(Wrappers.lambdaQuery(UserInfoEntity.class).eq(UserInfoEntity::getOrgId, orgId).eq(UserInfoEntity::getDeletetag,"0"));
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment