Commit 6506f7af authored by 李楠's avatar 李楠

Merge branch 'meiteng' into 'meiteng-2.0'

Meiteng

See merge request !2
parents 2f707571 487f68ba
...@@ -73,6 +73,16 @@ public class MTUserInfoRspDTO { ...@@ -73,6 +73,16 @@ public class MTUserInfoRspDTO {
private String avatar; private String avatar;
public String getIsHide() {
return isHide;
}
public void setIsHide(String isHide) {
this.isHide = isHide;
}
private String isHide;
private UserSuperiorsInfoBean userSuperiorsInfo; private UserSuperiorsInfoBean userSuperiorsInfo;
private List<DeptsBean> depts; private List<DeptsBean> depts;
......
package org.rcisoft.core.task;
import lombok.extern.slf4j.Slf4j;
import org.rcisoft.sys.role.dao.SysRoleRepository;
import org.rcisoft.sys.user.service.SysUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* Created by lz on 20/6/19.
*/
@Component
@Slf4j
public class UserManageTask {
@Autowired
private SysUserService sysUserService;
@Autowired
private SysRoleRepository sysRoleRepository;
@Scheduled(cron = "${eduJob.userManageJob:0 0/5 * * * ?}")
public void work() {
//获取 智学开通所有企业id
List<String> corpIds = sysRoleRepository.getCorpIds();
log.info("------UserManageTask----定时任务调用获取当前企业ids-"+corpIds);
//循环调用 同步接口
corpIds.forEach(c->sysUserService.synchronizedALL(c));
}
}
...@@ -244,4 +244,16 @@ public interface SysRoleRepository extends BaseMapper<SysRole> { ...@@ -244,4 +244,16 @@ public interface SysRoleRepository extends BaseMapper<SysRole> {
@Update("update tm_admin_role set type = #{type} , depart_ids = #{departIds} where r_id = #{businessId}") @Update("update tm_admin_role set type = #{type} , depart_ids = #{departIds} where r_id = #{businessId}")
int updateRoleData(SysRole sysRole); int updateRoleData(SysRole sysRole);
//删除当前管理员对应的用户
@Delete("delete from s_r_user_role where role_id = #{roleId} ")
int deleteUserRole(String roleId);
//获取当前企业的 管理员角色id
@Select("select * from tm_admin_role where corp_id = #{corpId} and r_type = #{rType} ")
String getRoleId(@Param("corpId") String corpId,@Param("rType") String rType);
//获取 智学开通的企业 id
@Select("select DISTINCT corp_id from tm_admin_role where r_type = 0")
List<String> getCorpIds();
} }
...@@ -63,7 +63,7 @@ public class SysUserController extends PaginationController<SysUser> { ...@@ -63,7 +63,7 @@ public class SysUserController extends PaginationController<SysUser> {
@GetMapping("/gets") @GetMapping("/gets")
@ApiOperation(value = "|personnels|同步人员", notes = "同步人员信息") @ApiOperation(value = "|personnels|同步人员", notes = "同步人员信息")
public Result synchronizedUsers(@RequestParam String corpId) throws ParseException { public Result synchronizedUsers(@RequestParam String corpId) throws ParseException {
int line = userServiceImpl.synchronizedUsers(corpId); int line = userServiceImpl.synchronizedALL(corpId);
return Result.builder(new PersistModel(1), return Result.builder(new PersistModel(1),
MessageConstant.MESSAGE_ALERT_SUCCESS, MessageConstant.MESSAGE_ALERT_SUCCESS,
MessageConstant.MESSAGE_ALERT_ERROR, MessageConstant.MESSAGE_ALERT_ERROR,
......
...@@ -46,8 +46,25 @@ public interface SysUserService { ...@@ -46,8 +46,25 @@ public interface SysUserService {
int insertOrUpdateList(List<SysUser> sysUserList); int insertOrUpdateList(List<SysUser> sysUserList);
/**
* 同步用户信息
* @param corpId
* @return
* @throws ParseException
*/
int synchronizedUsers(String corpId) throws ParseException; int synchronizedUsers(String corpId) throws ParseException;
/**
* 同步管理员信息
* @param corpId
* @return
*/
void synchronizedManages(String corpId);
int synchronizedALL(String corpId);
/** /**
* zhangqingle * zhangqingle
* 我的智学也查询个人信息及课程、培训、考试数量 * 我的智学也查询个人信息及课程、培训、考试数量
......
...@@ -8,10 +8,7 @@ import org.rcisoft.business.bexternallink.dto.MenuDTO; ...@@ -8,10 +8,7 @@ import org.rcisoft.business.bexternallink.dto.MenuDTO;
import org.rcisoft.business.synchronizationtime.entity.SynchronizationTime; import org.rcisoft.business.synchronizationtime.entity.SynchronizationTime;
import org.rcisoft.business.synchronizationtime.service.SynchronizationTimeService; import org.rcisoft.business.synchronizationtime.service.SynchronizationTimeService;
import org.rcisoft.common.component.Global; import org.rcisoft.common.component.Global;
import org.rcisoft.common.util.feignDto.GetAllRspDTO; import org.rcisoft.common.util.feignDto.*;
import org.rcisoft.common.util.feignDto.MTGetUserByDeptIdsRspDTO;
import org.rcisoft.common.util.feignDto.MTUserGetsReqDTO;
import org.rcisoft.common.util.feignDto.MTUserInfoRspDTO;
import org.rcisoft.common.util.outClient.MTCotactApiRequestClient; import org.rcisoft.common.util.outClient.MTCotactApiRequestClient;
import org.rcisoft.core.aop.PageUtil; import org.rcisoft.core.aop.PageUtil;
import org.rcisoft.core.exception.ServiceException; import org.rcisoft.core.exception.ServiceException;
...@@ -19,6 +16,8 @@ import org.rcisoft.core.result.ResultServiceEnums; ...@@ -19,6 +16,8 @@ import org.rcisoft.core.result.ResultServiceEnums;
import org.rcisoft.core.util.IdGen; import org.rcisoft.core.util.IdGen;
import org.rcisoft.core.util.UserUtil; import org.rcisoft.core.util.UserUtil;
import org.rcisoft.sys.menu.dao.SysMenuRepository; import org.rcisoft.sys.menu.dao.SysMenuRepository;
import org.rcisoft.sys.role.dao.SysRoleRepository;
import org.rcisoft.sys.role.dto.UserRoleDTO;
import org.rcisoft.sys.user.dto.QueryMenuResDTO; import org.rcisoft.sys.user.dto.QueryMenuResDTO;
import org.rcisoft.sys.menu.entity.SysMenu; import org.rcisoft.sys.menu.entity.SysMenu;
import org.rcisoft.sys.user.bean.CurUser; import org.rcisoft.sys.user.bean.CurUser;
...@@ -62,6 +61,12 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -62,6 +61,12 @@ public class SysUserServiceImpl implements SysUserService {
@Autowired @Autowired
MTCotactApiRequestClient mtCotactApiRequestClient; MTCotactApiRequestClient mtCotactApiRequestClient;
@Autowired
MTCotactApiRequestClient cotactApiRequestClient;
@Autowired
private SysRoleRepository sysRoleRepository;
@Autowired @Autowired
private Global global; private Global global;
...@@ -123,6 +128,7 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -123,6 +128,7 @@ public class SysUserServiceImpl implements SysUserService {
MTUserGetsReqDTO mtUserGetsReqDTO = new MTUserGetsReqDTO(); MTUserGetsReqDTO mtUserGetsReqDTO = new MTUserGetsReqDTO();
mtUserGetsReqDTO.setCorpId(dto.getCorpId()); mtUserGetsReqDTO.setCorpId(dto.getCorpId());
mtUserGetsReqDTO.setIds(list); mtUserGetsReqDTO.setIds(list);
log.info("--------------mtUserGetsReqDTO-------"+mtUserGetsReqDTO);
List<MTUserInfoRspDTO> depart = mtCotactApiRequestClient.userGets(mtUserGetsReqDTO); List<MTUserInfoRspDTO> depart = mtCotactApiRequestClient.userGets(mtUserGetsReqDTO);
if (depart != null) { if (depart != null) {
...@@ -410,6 +416,10 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -410,6 +416,10 @@ public class SysUserServiceImpl implements SysUserService {
} else { } else {
sysUser.setCreateDate(new Date()); sysUser.setCreateDate(new Date());
sysUser.setUpdateDate(new Date()); sysUser.setUpdateDate(new Date());
if (null == sysUser.getCreateBy())
sysUser.setCreateBy("");
if (null == sysUser.getUpdateBy())
sysUser.setUpdateBy("");
sysUserMapper.insertSelective(sysUser); sysUserMapper.insertSelective(sysUser);
line++; line++;
} }
...@@ -476,6 +486,43 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -476,6 +486,43 @@ public class SysUserServiceImpl implements SysUserService {
return line; return line;
} }
@Override
@Transactional(propagation = Propagation.REQUIRED,isolation = Isolation.DEFAULT,rollbackFor = Exception.class)
public void synchronizedManages(String corpId){
//获取当前企业 主管理员角色id
String mRId = sysRoleRepository.getRoleId(corpId,"0");
log.info("---------synchronizedManages-----主管理员角色Id-"+mRId);
//获取智信接口 所有主管理员
List<CorpGetManager> userMainList = cotactApiRequestClient.corpGetManager(corpId,"1");
log.info("---------synchronizedManages-----主管理员list-"+userMainList);
if (userMainList != null && userMainList.size() > 0){
userMainList = this.accountIdToBusinessId(userMainList,corpId);
List<UserRoleDTO> userRoleDTOList = setUserRole(userMainList,mRId);
//先删除掉 关系表中的数据
sysRoleRepository.deleteUserRole(mRId);
//再插入s_r_user_role
sysRoleRepository.addUserRole(userRoleDTOList);
log.info("---------synchronizedManages-----插入成功---当前主管理员-"+userRoleDTOList);
}
//获取当前企业 子管理员角色id
String sRId = sysRoleRepository.getRoleId(corpId,"1");
log.info("---------synchronizedManages-----子管理员角色Id-"+sRId);
List<CorpGetManager> userSubMainList = cotactApiRequestClient.corpGetManager(corpId,"2");
log.info("---------synchronizedManages-----子管理员list-"+userSubMainList);
if (userSubMainList != null && userSubMainList.size() > 0){
userSubMainList = this.accountIdToBusinessId(userSubMainList,corpId);
List<UserRoleDTO> userSubRoleDTOList = setUserRole(userSubMainList,sRId);
//先删除掉 关系表中的数据
sysRoleRepository.deleteUserRole(sRId);
//插入s_r_user_role表
sysRoleRepository.addUserRole(userSubRoleDTOList);
log.info("---------synchronizedManages-----插入成功---当前子管理员-"+userSubRoleDTOList);
}
}
@Override @Override
public MyInfoDTO queryMyInfo(CurUser curUser) { public MyInfoDTO queryMyInfo(CurUser curUser) {
MyInfoDTO myInfoDTOCount = sysUserMapper.queryMyLessonCount(curUser); MyInfoDTO myInfoDTOCount = sysUserMapper.queryMyLessonCount(curUser);
...@@ -526,4 +573,63 @@ public class SysUserServiceImpl implements SysUserService { ...@@ -526,4 +573,63 @@ public class SysUserServiceImpl implements SysUserService {
public MyInfoDTO getNameById(String id) { public MyInfoDTO getNameById(String id) {
return sysUserMapper.getNameById(id); return sysUserMapper.getNameById(id);
} }
/**
* 根据AccountId查询用户user表中真实BusinessId
* @param MainList
* @return
*/
List<CorpGetManager> accountIdToBusinessId(List<CorpGetManager> MainList,String corpId){
StringBuffer sb = new StringBuffer();
for(CorpGetManager user : MainList){
sb.append(user.getAccountId()+",");
}
String accountId = sb.toString().substring(0,sb.toString().length() - 1);
List<SysUser> businessId = sysUserMapper.getBusinessIdByAccountId(accountId,corpId);
if(businessId != null && businessId.size() > 0){
for(SysUser sysUser:businessId){
for(CorpGetManager c : MainList){
if(sysUser.getAccountId().equals(c.getAccountId())){
c.setId(sysUser.getBusinessId());
}
}
}
}
return MainList;
}
List<UserRoleDTO> setUserRole(List<CorpGetManager> userMainList ,String rId){
List<UserRoleDTO> userRoleDTOList = new ArrayList<>();
userMainList.forEach(user->{
UserRoleDTO userRoleDTO = new UserRoleDTO();
userRoleDTO.setBusinessId(IdGen.uuid());
userRoleDTO.setRoleId(rId);
userRoleDTO.setUserId(user.getId());
userRoleDTOList.add(userRoleDTO);
});
return userRoleDTOList;
}
/**
* 同步 智信用户和管理员
* @param corpId
* @return
*/
@Override
public int synchronizedALL(String corpId){
log.info("----------synchronizedALL----开始调用同步管理员接口-------当前企业--"+corpId);
synchronizedManages(corpId);
int line = 0;
try {
log.info("----------synchronizedALL----开始调用同步用户接口-------当前企业--"+corpId);
line = synchronizedUsers(corpId);
} catch (ParseException e) {
e.printStackTrace();
}
return line;
}
} }
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