package com.gkhy.safePlatform.account.rpc.test;
|
|
import com.gkhy.safePlatform.account.enums.DepartmentLevelEnum;
|
import com.gkhy.safePlatform.account.enums.DepartmentStatusEnum;
|
import com.gkhy.safePlatform.account.model.dto.req.*;
|
import com.gkhy.safePlatform.account.model.dto.resp.DepRespDTO;
|
import com.gkhy.safePlatform.account.model.dto.resp.DepartmentRespDTO;
|
import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService;
|
import com.gkhy.safePlatform.account.rpc.apimodel.model.req.DepAddRPCReqDTO;
|
import com.gkhy.safePlatform.account.rpc.apimodel.model.req.DepModRPCReqDTO;
|
import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.*;
|
import com.gkhy.safePlatform.account.service.DepartmentService;
|
import com.gkhy.safePlatform.commons.co.ContextCacheUser;
|
import com.gkhy.safePlatform.commons.enums.ResultCodes;
|
import com.gkhy.safePlatform.commons.exception.AusinessException;
|
import com.gkhy.safePlatform.commons.exception.BusinessException;
|
import com.gkhy.safePlatform.commons.vo.ResultVO;
|
import org.apache.dubbo.config.annotation.DubboService;
|
import org.springframework.beans.BeanUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@DubboService
|
public class AccountDepartmentServiceProvider implements AccountDepartmentService {
|
|
@Autowired
|
private DepartmentService departmentService;
|
|
|
@Override
|
public ResultVO<String> addDep(ContextCacheUser currentUser, DepAddRPCReqDTO depAddRPCReqDTO) {
|
;
|
ResultVO<String> result = new ResultVO<>(ResultCodes.OK);
|
try {
|
DepartmentAddReqDTO departmentAddReqDTO = new DepartmentAddReqDTO();
|
BeanUtils.copyProperties(depAddRPCReqDTO, departmentAddReqDTO);
|
departmentService.addDepartment(currentUser, departmentAddReqDTO);
|
} catch (AusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (BusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (Exception e) {
|
result.setCode(ResultCodes.SERVER_ERROR.getCode());
|
result.setMsg(ResultCodes.SERVER_ERROR.getDesc());
|
}
|
return result;
|
}
|
|
@Override
|
public ResultVO<String> modDep(ContextCacheUser currentUser, DepModRPCReqDTO depModRPCReqDTO) {
|
;
|
ResultVO<String> result = new ResultVO<>(ResultCodes.OK);
|
try {
|
DepartmentModReqDTO departmentModReqDTO = new DepartmentModReqDTO();
|
BeanUtils.copyProperties(depModRPCReqDTO, departmentModReqDTO);
|
departmentService.modDepartment(currentUser, departmentModReqDTO);
|
} catch (AusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (BusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (Exception e) {
|
result.setCode(ResultCodes.SERVER_ERROR.getCode());
|
result.setMsg(ResultCodes.SERVER_ERROR.getDesc());
|
}
|
return result;
|
}
|
|
@Override
|
public ResultVO<List<DepRPCRespDTO>> depList() {
|
try {
|
List<DepartmentRespDTO> departmentEnableList = departmentService.getDepartmentEnableList();
|
List<DepRPCRespDTO> data = convert2DepRPCRespDTO(departmentEnableList);
|
return new ResultVO<>(ResultCodes.OK, data);
|
}catch (AusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (BusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (Exception e) {
|
ResultVO resultVO = new ResultVO<>();
|
resultVO.setCode(ResultCodes.SERVER_ERROR);
|
return resultVO;
|
}
|
}
|
|
@Override
|
public ResultVO<String> delDep(ContextCacheUser currentUser, Long depId) {
|
;
|
ResultVO<String> result = new ResultVO<>(ResultCodes.OK);
|
try {
|
departmentService.delDepartment(currentUser, depId);
|
} catch (AusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (BusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (Exception e) {
|
result.setCode(ResultCodes.SERVER_ERROR.getCode());
|
result.setMsg(ResultCodes.SERVER_ERROR.getDesc());
|
}
|
return result;
|
}
|
|
@Override
|
public ResultVO<DepInfoRPCRespDTO> getDepInfoByDepId(Long userId, Long depId) {
|
;
|
ResultVO<DepInfoRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
|
try {
|
DepRespDTO depRespDTO = departmentService.getEnableDepartmentInfoByDepId(userId, depId);
|
DepInfoRPCRespDTO depInfoRPCRespDTO = null;
|
if (depRespDTO != null) {
|
depInfoRPCRespDTO = new DepInfoRPCRespDTO();
|
BeanUtils.copyProperties(depRespDTO, depInfoRPCRespDTO);
|
}
|
result.setData(depInfoRPCRespDTO);
|
} catch (AusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (BusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (Exception e) {
|
result.setCode(ResultCodes.SERVER_ERROR.getCode());
|
result.setMsg(ResultCodes.SERVER_ERROR.getDesc());
|
}
|
return result;
|
}
|
|
@Override
|
public ResultVO<DepInfoRPCRespDTO> getDepInfoByDepId(Long depId) {
|
;
|
ResultVO<DepInfoRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
|
try {
|
DepRespDTO depRespDTO = departmentService.getDepartmentInfoByDepId(depId);
|
DepInfoRPCRespDTO depInfoRPCRespDTO = null;
|
if (depRespDTO != null) {
|
depInfoRPCRespDTO = new DepInfoRPCRespDTO();
|
BeanUtils.copyProperties(depRespDTO, depInfoRPCRespDTO);
|
}
|
result.setData(depInfoRPCRespDTO);
|
} catch (AusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (BusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (Exception e) {
|
result.setCode(ResultCodes.SERVER_ERROR.getCode());
|
result.setMsg(ResultCodes.SERVER_ERROR.getDesc());
|
}
|
return result;
|
}
|
|
@Override
|
public ResultVO<DepInfoRPCRespDTO> getParentDepInfoByDepId(Long depId) {
|
ResultVO<DepInfoRPCRespDTO> result = new ResultVO<>(ResultCodes.OK);
|
try {
|
DepRespDTO depRespDTO = departmentService.getParentDepInfoByDepId(depId);
|
DepInfoRPCRespDTO depInfoRPCRespDTO = null;
|
if (depRespDTO != null) {
|
depInfoRPCRespDTO = new DepInfoRPCRespDTO();
|
BeanUtils.copyProperties(depRespDTO, depInfoRPCRespDTO);
|
}
|
result.setData(depInfoRPCRespDTO);
|
} catch (AusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (BusinessException e) {
|
result.setCode(e.getCode());
|
result.setMsg(e.getMessage());
|
} catch (Exception e) {
|
result.setCode(ResultCodes.SERVER_ERROR.getCode());
|
result.setMsg(ResultCodes.SERVER_ERROR.getDesc());
|
}
|
return result;
|
}
|
|
@Override
|
public ResultVO<Boolean> isSelfOrSubDep(Long depId, Long depId1) {
|
try {
|
boolean result = departmentService.isSelfOrSubDep(depId, depId1);
|
return new ResultVO<>(ResultCodes.OK,result);
|
} catch (AusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (BusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (Exception e) {
|
return new ResultVO<>(ResultCodes.SERVER_ERROR);
|
}
|
|
}
|
|
@Override
|
public ResultVO<DepInfoRPCRespDTO> getDepartmentInfoByDepName(String depName) {
|
try {
|
DepRespDTO depRespDTO = departmentService.getDepartmentInfoByDepName(depName);
|
DepInfoRPCRespDTO result = null;
|
if (depRespDTO != null) {
|
result = new DepInfoRPCRespDTO();
|
result.setDepId(depRespDTO.getDepId());
|
result.setDepName(depRespDTO.getDepName());
|
result.setDepInfo(depRespDTO.getDepInfo());
|
result.setDepLevel(depRespDTO.getDepLevel());
|
result.setDepCode(depRespDTO.getDepCode());
|
result.setDepLevelDesc(depRespDTO.getDepLevelDesc());
|
result.setParentDepId(depRespDTO.getParentDepId());
|
result.setStatus(depRespDTO.getStatus());
|
result.setStatusDesc(depRespDTO.getStatusDesc());
|
}
|
return new ResultVO<>(ResultCodes.OK,result);
|
} catch (AusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (BusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (Exception e) {
|
return new ResultVO<>(ResultCodes.SERVER_ERROR);
|
}
|
}
|
|
@Override
|
public ResultVO<List<Long>> listDepAndSubDepIds(Long depId) {
|
try {
|
List<Long> ids = departmentService.listDepAndSubDepIds(depId);
|
return new ResultVO<>(ResultCodes.OK,ids);
|
} catch (AusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (BusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (Exception e) {
|
return new ResultVO<>(ResultCodes.SERVER_ERROR);
|
}
|
|
}
|
|
@Override
|
public ResultVO<List<DepInfoRPCRespDTO>> listDepAndSubDepByDepId(Long depId) {
|
try {
|
List<DepRespDTO> depRespDTOs = departmentService.listDepAndSubByDepId(depId);
|
List<DepInfoRPCRespDTO> result = new ArrayList<>(depRespDTOs.size());
|
if (depRespDTOs.size() > 0) {
|
DepInfoRPCRespDTO respDTO;
|
for (DepRespDTO dep : depRespDTOs) {
|
respDTO = new DepInfoRPCRespDTO();
|
respDTO.setDepId(dep.getDepId());
|
respDTO.setDepName(dep.getDepName());
|
respDTO.setDepInfo(dep.getDepInfo());
|
respDTO.setDepCode(dep.getDepCode());
|
respDTO.setParentDepId(dep.getParentDepId());
|
respDTO.setStatus(dep.getStatus());
|
respDTO.setStatusDesc(dep.getStatusDesc());
|
respDTO.setDepLevel(dep.getDepLevel());
|
respDTO.setDepLevelDesc(dep.getDepLevelDesc());
|
result.add(respDTO);
|
}
|
|
}
|
return new ResultVO<>(ResultCodes.OK,result);
|
} catch (AusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (BusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (Exception e) {
|
return new ResultVO<>(ResultCodes.SERVER_ERROR);
|
}
|
|
}
|
|
@Override
|
public ResultVO<List<DepInfoRPCRespDTO>> listDepByDepIds(List<Long> depIds) {
|
try {
|
List<DepRespDTO> depRespDTOs= departmentService.listDepByDepIds(depIds);
|
List<DepInfoRPCRespDTO> result = new ArrayList<>(depRespDTOs.size());
|
DepInfoRPCRespDTO respDTO;
|
for (DepRespDTO dep : depRespDTOs) {
|
respDTO = new DepInfoRPCRespDTO();
|
respDTO.setDepId(dep.getDepId());
|
respDTO.setDepName(dep.getDepName());
|
respDTO.setDepInfo(dep.getDepInfo());
|
respDTO.setParentDepId(dep.getParentDepId());
|
respDTO.setDepCode(dep.getDepCode());
|
respDTO.setStatus(dep.getStatus());
|
respDTO.setStatusDesc(dep.getStatusDesc());
|
respDTO.setDepLevel(dep.getDepLevel());
|
respDTO.setDepLevelDesc(dep.getDepLevelDesc());
|
result.add(respDTO);
|
}
|
return new ResultVO<>(ResultCodes.OK, result);
|
} catch (AusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (BusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (Exception e) {
|
return new ResultVO<>(ResultCodes.SERVER_ERROR);
|
}
|
|
|
|
}
|
|
@Override
|
public ResultVO<List<DepInfoRPCRespDTO>> listSubDepsByDepId(Long depId) {
|
try {
|
List<DepRespDTO> depRespDTOS = departmentService.listSubDepsByDepId(depId);
|
List<DepInfoRPCRespDTO> result = new ArrayList<>(depRespDTOS.size());
|
if (depRespDTOS.size() > 0) {
|
DepInfoRPCRespDTO respDTO;
|
for (DepRespDTO dep : depRespDTOS) {
|
respDTO = new DepInfoRPCRespDTO();
|
respDTO.setDepId(dep.getDepId());
|
respDTO.setDepName(dep.getDepName());
|
respDTO.setDepInfo(dep.getDepInfo());
|
respDTO.setDepCode(dep.getDepCode());
|
respDTO.setParentDepId(dep.getParentDepId());
|
respDTO.setStatus(dep.getStatus());
|
respDTO.setStatusDesc(dep.getStatusDesc());
|
respDTO.setDepLevel(dep.getDepLevel());
|
respDTO.setDepLevelDesc(dep.getDepLevelDesc());
|
result.add(respDTO);
|
}
|
}
|
return new ResultVO<>(ResultCodes.OK, result);
|
} catch (AusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (BusinessException e) {
|
return new ResultVO<>(e.getCode(), e.getMessage());
|
} catch (Exception e) {
|
return new ResultVO<>(ResultCodes.SERVER_ERROR);
|
}
|
|
}
|
|
|
private List<DepRPCRespDTO> convert2DepRPCRespDTO(List<DepartmentRespDTO> sources) {
|
;
|
List<DepRPCRespDTO> targets = new ArrayList<>();
|
DepartmentStatusEnum statusEnum;
|
DepartmentLevelEnum levelEnum;
|
for (DepartmentRespDTO source : sources) {
|
DepRPCRespDTO target = new DepRPCRespDTO();
|
target.setDepId(source.getDepId());
|
target.setDepName(source.getDepName());
|
target.setDepInfo(source.getDepInfo());
|
target.setDepLevel(source.getDepLevel());
|
target.setDepCode(source.getDepCode());
|
levelEnum = DepartmentLevelEnum.parse(source.getDepLevel());
|
if (levelEnum != null) {
|
target.setDepLevelDesc(levelEnum.value);
|
}
|
target.setStatus(source.getStatus());
|
statusEnum = DepartmentStatusEnum.parse(source.getStatus());
|
if (statusEnum != null) {
|
target.setStatusDesc(statusEnum.getValue());
|
}
|
target.setParentDepId(source.getParentDepId());
|
|
if (source.getChildren() != null && source.getChildren().size() > 0) {
|
List<DepRPCRespDTO> subChildren = convert2DepRPCRespDTO(source.getChildren());
|
target.setChildren(subChildren);
|
}
|
|
targets.add(target);
|
}
|
return targets;
|
}
|
|
}
|